126
130
TRACE_ENTER("Menus::~Menus");
133
for (int k = 0; k < MENU_SIZEOF; k++)
133
Menus::create_main_window_menu()
135
Gtk::Menu *menu = manage(create_menu(main_window_check_menus)); // FIXME: leak
137
#ifdef HAVE_DISTRIBUTION
138
main_window_check_menus[3]->signal_toggled().connect(MEMBER_SLOT(*this,
139
&Menus::on_menu_network_log_main_window));
147
Menus::create_tray_menu()
149
Gtk::Menu *menu = manage(create_menu(tray_check_menus));
150
#ifdef HAVE_DISTRIBUTION
151
tray_check_menus[3]->signal_toggled().connect(MEMBER_SLOT(*this,
152
&Menus::on_menu_network_log_tray));
144
Menus::create_menu(MenuKind kind)
146
Gtk::Menu *menu = menus[kind];
150
menu = manage(create_menu(kind, sync_menus[kind]));
152
#ifdef HAVE_DISTRIBUTION
156
case MENU_MAINWINDOW:
157
sync_menus[kind][MENUSYNC_SHOW_LOG]->signal_toggled().
158
connect(MEMBER_SLOT(*this, &Menus::on_menu_network_log_main_window));
162
sync_menus[kind][MENUSYNC_SHOW_LOG]->signal_toggled().
163
connect(MEMBER_SLOT(*this, &Menus::on_menu_network_log_tray));
159
177
//! Create the popup-menu
161
Menus::create_menu(Gtk::CheckMenuItem *check_menus[4])
179
Menus::create_menu(MenuKind kind, Gtk::CheckMenuItem *check_menus[MENUSYNC_SIZEOF])
163
TRACE_ENTER("Menus::create_menu");
181
TRACE_ENTER_MSG("Menus::create_menu", kind);
164
182
Gtk::Menu *pop_menu = manage(new Gtk::Menu());
166
184
Gtk::Menu::MenuList &menulist = pop_menu->items();
324
342
Menus::sync_mode_menu(int mode)
326
TRACE_ENTER("sync_mode_menu");
328
344
// Ugh, isn't there an other way to prevent endless signal loops?
329
345
static bool syncing = false;
347
TRACE_ENTER_MSG("Menus::sync_mode_menu", mode << " " << syncing);
334
if (main_window_check_menus[mode] != NULL && !main_window_check_menus[mode]->get_active())
352
for (int k = MENU_MAINWINDOW; k < MENU_SIZEOF; k++)
336
TRACE_MSG("setting active");
337
main_window_check_menus[mode]->set_active(true);
354
if (sync_menus[k][mode] != NULL && !sync_menus[k][mode]->get_active())
356
TRACE_MSG("setting active " << k <<" " << mode);
357
sync_menus[k][mode]->set_active(true);
340
if (tray_check_menus[mode] != NULL && !tray_check_menus[mode]->get_active())
341
tray_check_menus[mode]->set_active(true);
343
362
#if defined(HAVE_GNOME)
344
// if (applet_window != NULL)
346
// applet_window->set_menu_active(mode, true);
363
GnomeAppletWindow *aw = static_cast<GnomeAppletWindow*>(applet_window);
366
TRACE_MSG("setting gnome active " << mode);
367
aw->set_menu_active(mode, true);
348
369
#elif defined(WIN32)
358
379
Menus::sync_log_menu(bool active)
360
TRACE_ENTER("sync_log_menu");
381
TRACE_ENTER("Menus::sync_log_menu");
362
383
static bool syncing = false;
367
if (main_window_check_menus[3] != NULL)
369
main_window_check_menus[3]->set_active(active);
372
if (tray_check_menus[3] != NULL)
374
tray_check_menus[3]->set_active(active);
388
for (int k = 0; k < MENU_SIZEOF; k++)
390
if (sync_menus[k][MENUSYNC_SHOW_LOG] != NULL)
392
sync_menus[k][MENUSYNC_SHOW_LOG]->set_active(active);
377
396
#if defined(HAVE_GNOME)
378
// if (applet_window != NULL)
380
// applet_window->set_menu_active(3, active);
397
GnomeAppletWindow *aw = static_cast<GnomeAppletWindow*>(applet_window);
400
aw->set_menu_active(MENUSYNC_SHOW_LOG, active);
382
402
#elif defined(WIN32)
393
413
Menus::resync_applet()
415
CoreInterface *core = CoreFactory::get_core();
416
OperationMode mode = core->get_operation_mode();
418
for (int k = MENU_MAINWINDOW; k < MENU_SIZEOF; k++)
420
if (sync_menus[k][mode] != NULL && !sync_menus[k][mode]->get_active())
422
sync_menus[k][mode]->set_active(true);
426
#if defined(HAVE_DISTRIBUTION)
427
bool network_log_active = network_log_dialog != NULL;
428
for (int k = 0; k < MENU_SIZEOF; k++)
430
if (sync_menus[k][MENUSYNC_SHOW_LOG] != NULL)
432
sync_menus[k][MENUSYNC_SHOW_LOG]->set_active(network_log_active);
395
437
#if defined(HAVE_GNOME)
396
// if (applet_window != NULL)
398
// CoreInterface *core = CoreFactory::get_core();
399
// OperationMode mode = core->get_operation_mode();
402
// case OPERATION_MODE_NORMAL:
403
// applet_window->set_menu_active(0, true);
405
// case OPERATION_MODE_SUSPENDED:
406
// applet_window->set_menu_active(1, true);
408
// case OPERATION_MODE_QUIET:
409
// applet_window->set_menu_active(2, true);
438
GnomeAppletWindow *aw = static_cast<GnomeAppletWindow*>(applet_window);
443
case OPERATION_MODE_NORMAL:
444
aw->set_menu_active(MENUSYNC_MODE_NORMAL, true);
446
case OPERATION_MODE_SUSPENDED:
447
aw->set_menu_active(MENUSYNC_MODE_SUSPENDED, true);
449
case OPERATION_MODE_QUIET:
450
aw->set_menu_active(MENUSYNC_MODE_QUIET, true);
414
455
#if defined(HAVE_DISTRIBUTION)
415
// applet_window->set_menu_active(3, network_log_dialog != NULL);
456
bool network_log_active = network_log_dialog != NULL;
457
aw->set_menu_active(MENUSYNC_SHOW_LOG, network_log_dialog);
418
462
#elif defined(WIN32)
419
if (applet_window != NULL && main_window != NULL )
463
if (applet_window != NULL && main_window != NULL)
421
CoreInterface *core = CoreFactory::get_core();
423
465
HWND cmd_win = (HWND) GDK_WINDOW_HWND( main_window
424
466
->Gtk::Widget::gobj()->window);
425
467
W32AppletWindow *w32aw = static_cast<W32AppletWindow*>(applet_window);
433
475
w32aw->add_menu(_("_Normal"), MENU_COMMAND_MODE_NORMAL,
434
W32AppletWindow::MENU_FLAG_TOGGLE
435
|W32AppletWindow::MENU_FLAG_POPUP
436
|(core->get_operation_mode()
437
== OPERATION_MODE_NORMAL
438
? W32AppletWindow::MENU_FLAG_SELECTED
476
W32AppletWindow::MENU_FLAG_TOGGLE
477
|W32AppletWindow::MENU_FLAG_POPUP
478
|(core->get_operation_mode()
479
== OPERATION_MODE_NORMAL
480
? W32AppletWindow::MENU_FLAG_SELECTED
440
482
w32aw->add_menu(_("_Suspended"), MENU_COMMAND_MODE_SUSPENDED,
441
W32AppletWindow::MENU_FLAG_TOGGLE
442
|W32AppletWindow::MENU_FLAG_POPUP
443
|(core->get_operation_mode()
444
== OPERATION_MODE_SUSPENDED
445
? W32AppletWindow::MENU_FLAG_SELECTED
483
W32AppletWindow::MENU_FLAG_TOGGLE
484
|W32AppletWindow::MENU_FLAG_POPUP
485
|(core->get_operation_mode()
486
== OPERATION_MODE_SUSPENDED
487
? W32AppletWindow::MENU_FLAG_SELECTED
447
489
w32aw->add_menu(_("Q_uiet"), MENU_COMMAND_MODE_QUIET,
448
W32AppletWindow::MENU_FLAG_TOGGLE
449
|W32AppletWindow::MENU_FLAG_POPUP
450
|(core->get_operation_mode()
451
== OPERATION_MODE_QUIET
452
? W32AppletWindow::MENU_FLAG_SELECTED
490
W32AppletWindow::MENU_FLAG_TOGGLE
491
|W32AppletWindow::MENU_FLAG_POPUP
492
|(core->get_operation_mode()
493
== OPERATION_MODE_QUIET
494
? W32AppletWindow::MENU_FLAG_SELECTED
454
496
w32aw->add_menu(_("_Mode"), 0, 0);
456
498
#ifdef HAVE_DISTRIBUTION
457
499
w32aw->add_menu(_("_Connect"), MENU_COMMAND_NETWORK_CONNECT,
458
W32AppletWindow::MENU_FLAG_TOGGLE
459
|W32AppletWindow::MENU_FLAG_POPUP);
500
W32AppletWindow::MENU_FLAG_TOGGLE
501
|W32AppletWindow::MENU_FLAG_POPUP);
460
502
w32aw->add_menu(_("_Disconnect"),
461
MENU_COMMAND_NETWORK_DISCONNECT,
462
W32AppletWindow::MENU_FLAG_TOGGLE
463
|W32AppletWindow::MENU_FLAG_POPUP);
503
MENU_COMMAND_NETWORK_DISCONNECT,
504
W32AppletWindow::MENU_FLAG_TOGGLE
505
|W32AppletWindow::MENU_FLAG_POPUP);
464
506
w32aw->add_menu(_("_Reconnect"), MENU_COMMAND_NETWORK_RECONNECT,
465
W32AppletWindow::MENU_FLAG_TOGGLE
466
|W32AppletWindow::MENU_FLAG_POPUP);
507
W32AppletWindow::MENU_FLAG_TOGGLE
508
|W32AppletWindow::MENU_FLAG_POPUP);
467
509
w32aw->add_menu(_("Show _log"), MENU_COMMAND_NETWORK_LOG,
468
W32AppletWindow::MENU_FLAG_TOGGLE
469
|W32AppletWindow::MENU_FLAG_POPUP
470
|(network_log_dialog != NULL
471
? W32AppletWindow::MENU_FLAG_SELECTED
510
W32AppletWindow::MENU_FLAG_TOGGLE
511
|W32AppletWindow::MENU_FLAG_POPUP
512
|(network_log_dialog != NULL
513
? W32AppletWindow::MENU_FLAG_SELECTED
473
515
w32aw->add_menu(_("_Network"), 0, 0);
475
517
w32aw->add_menu(_("Statistics"), MENU_COMMAND_STATISTICS, 0);