Merge lp:~sachinr/xpad/xpad-tray-config into lp:xpad
- xpad-tray-config
- Merge into trunk
Proposed by
Sachin Raut
| Status: | Merged |
|---|---|
| Merged at revision: | 660 |
| Proposed branch: | lp:~sachinr/xpad/xpad-tray-config |
| Merge into: | lp:xpad |
| Diff against target: |
388 lines (+174/-16) (has conflicts) 3 files modified
src/xpad-preferences.c (+44/-2) src/xpad-settings.c (+34/-2) src/xpad-tray.c (+96/-12) Text conflict in src/xpad-tray.c |
| To merge this branch: | bzr merge lp:~sachinr/xpad/xpad-tray-config |
| Related bugs: | |
| Related blueprints: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Arthur Borsboom | Approve | ||
|
Review via email:
|
|||
Commit message
Description of the change
fixed Bug #304331: controlling right/left click on tray icon.
fixed Bug #345278: toggle on left mouse click.
To post a comment you must log in.
Revision history for this message
| Arthur Borsboom (arthurborsboom) wrote : | # |
Revision history for this message
| Arthur Borsboom (arthurborsboom) wrote : | # |
I have merged the changes in my development environment and fixed the conflicts.
Tested the four new options for the left-click behaviour and it seems to work nicely!
Good job.
I will merge this in the main branch.
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
| 1 | === modified file 'src/xpad-preferences.c' |
| 2 | --- src/xpad-preferences.c 2008-09-21 00:03:40 +0000 |
| 3 | +++ src/xpad-preferences.c 2013-10-14 17:36:30 +0000 |
| 4 | @@ -39,6 +39,7 @@ |
| 5 | GtkWidget *editcheck; |
| 6 | GtkWidget *stickycheck; |
| 7 | GtkWidget *confirmcheck; |
| 8 | + GtkWidget *trayconfigbox; |
| 9 | |
| 10 | GtkWidget *textbutton; |
| 11 | GtkWidget *backbutton; |
| 12 | @@ -50,6 +51,7 @@ |
| 13 | guint notify_font_handler; |
| 14 | guint notify_back_handler; |
| 15 | guint notify_text_handler; |
| 16 | + guint notify_tray_handler; |
| 17 | guint font_handler; |
| 18 | guint back_handler; |
| 19 | guint text_handler; |
| 20 | @@ -58,6 +60,7 @@ |
| 21 | guint editcheck_handler; |
| 22 | guint stickycheck_handler; |
| 23 | guint confirmcheck_handler; |
| 24 | + guint trayclick_handler; |
| 25 | }; |
| 26 | |
| 27 | static void change_edit_check (GtkToggleButton *button, XpadPreferences *pref); |
| 28 | @@ -68,12 +71,14 @@ |
| 29 | static void change_text_color (GtkColorButton *button, XpadPreferences *pref); |
| 30 | static void change_back_color (GtkColorButton *button, XpadPreferences *pref); |
| 31 | static void change_font_face (GtkFontButton *button, XpadPreferences *pref); |
| 32 | +static void change_tray_click_configuration(GtkComboBox *box, XpadPreferences *pref); |
| 33 | static void notify_edit (XpadPreferences *pref); |
| 34 | static void notify_sticky (XpadPreferences *pref); |
| 35 | static void notify_confirm (XpadPreferences *pref); |
| 36 | static void notify_fontname (XpadPreferences *pref); |
| 37 | static void notify_text_color (XpadPreferences *pref); |
| 38 | static void notify_back_color (XpadPreferences *pref); |
| 39 | +static void notify_tray_click (XpadPreferences *pref); |
| 40 | static void xpad_preferences_finalize (GObject *object); |
| 41 | static void xpad_preferences_response (GtkDialog *dialog, gint response); |
| 42 | |
| 43 | @@ -112,7 +117,7 @@ |
| 44 | const gchar *fontname; |
| 45 | GtkStyle *style; |
| 46 | GtkWidget *label, *appearance_frame, *alignment, *appearance_vbox; |
| 47 | - GtkWidget *options_frame, *options_vbox, *global_vbox; |
| 48 | + GtkWidget *options_frame, *options_vbox, *global_vbox, *tray_config_vbox; |
| 49 | gchar *text; |
| 50 | GtkSizeGroup *size_group_labels = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); |
| 51 | GtkRequisition req; |
| 52 | @@ -272,10 +277,28 @@ |
| 53 | "child", alignment, |
| 54 | NULL)); |
| 55 | |
| 56 | - |
| 57 | + tray_config_vbox = GTK_WIDGET (g_object_new (GTK_TYPE_VBOX, |
| 58 | + "homogeneous", FALSE, |
| 59 | + "spacing", 6, |
| 60 | + NULL)); |
| 61 | + |
| 62 | + pref->priv->trayconfigbox = gtk_combo_box_new_text(); |
| 63 | + gtk_combo_box_append_text( GTK_COMBO_BOX( pref->priv->trayconfigbox ), "Do Nothing" ); |
| 64 | + gtk_combo_box_append_text( GTK_COMBO_BOX( pref->priv->trayconfigbox ), "Toggle Show All" ); |
| 65 | + gtk_combo_box_append_text( GTK_COMBO_BOX( pref->priv->trayconfigbox ), "List of Pads" ); |
| 66 | + gtk_combo_box_append_text( GTK_COMBO_BOX( pref->priv->trayconfigbox ), "New Pad" ); |
| 67 | + gtk_combo_box_set_active( GTK_COMBO_BOX( pref->priv->trayconfigbox ), xpad_settings_get_tray_click_handler(xpad_settings())); |
| 68 | + |
| 69 | + hbox = gtk_hbox_new(FALSE, 12); |
| 70 | + label = gtk_label_new_with_mnemonic(_("Tray click behaviour")); |
| 71 | + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); |
| 72 | + gtk_box_pack_start(GTK_BOX(hbox), pref->priv->trayconfigbox, TRUE, TRUE, 0); |
| 73 | + gtk_box_pack_start(GTK_BOX(tray_config_vbox), hbox, TRUE, TRUE, 0); |
| 74 | + |
| 75 | gtk_box_pack_start (GTK_BOX (options_vbox), pref->priv->editcheck, FALSE, FALSE, 0); |
| 76 | gtk_box_pack_start (GTK_BOX (options_vbox), pref->priv->stickycheck, FALSE, FALSE, 0); |
| 77 | gtk_box_pack_start (GTK_BOX (options_vbox), pref->priv->confirmcheck, FALSE, FALSE, 0); |
| 78 | + g_object_set (GTK_WIDGET(options_vbox), "child", tray_config_vbox, NULL); |
| 79 | |
| 80 | global_vbox = g_object_new (GTK_TYPE_VBOX, |
| 81 | "border-width", 6, |
| 82 | @@ -295,12 +318,14 @@ |
| 83 | pref->priv->text_handler = g_signal_connect (pref->priv->textbutton, "color-set", G_CALLBACK (change_text_color), pref); |
| 84 | pref->priv->back_handler = g_signal_connect (pref->priv->backbutton, "color-set", G_CALLBACK (change_back_color), pref); |
| 85 | pref->priv->font_handler = g_signal_connect (pref->priv->fontbutton, "font-set", G_CALLBACK (change_font_face), pref); |
| 86 | + pref->priv->trayclick_handler = g_signal_connect(pref->priv->trayconfigbox, "changed", G_CALLBACK(change_tray_click_configuration), pref); |
| 87 | pref->priv->notify_font_handler = g_signal_connect_swapped (xpad_settings (), "notify::fontname", G_CALLBACK (notify_fontname), pref); |
| 88 | pref->priv->notify_text_handler = g_signal_connect_swapped (xpad_settings (), "notify::text-color", G_CALLBACK (notify_text_color), pref); |
| 89 | pref->priv->notify_back_handler = g_signal_connect_swapped (xpad_settings (), "notify::back-color", G_CALLBACK (notify_back_color), pref); |
| 90 | pref->priv->notify_sticky_handler = g_signal_connect_swapped (xpad_settings (), "notify::sticky", G_CALLBACK (notify_sticky), pref); |
| 91 | pref->priv->notify_edit_handler = g_signal_connect_swapped (xpad_settings (), "notify::edit-lock", G_CALLBACK (notify_edit), pref); |
| 92 | pref->priv->notify_confirm_handler = g_signal_connect_swapped (xpad_settings (), "notify::confirm-destroy", G_CALLBACK (notify_confirm), pref); |
| 93 | + pref->priv->notify_tray_handler = g_signal_connect_swapped (xpad_settings (), "notify::tray_click_configuration", G_CALLBACK(notify_tray_click), pref); |
| 94 | |
| 95 | g_object_unref (size_group_labels); |
| 96 | |
| 97 | @@ -394,6 +419,14 @@ |
| 98 | } |
| 99 | |
| 100 | static void |
| 101 | +change_tray_click_configuration(GtkComboBox *box, XpadPreferences *pref) |
| 102 | +{ |
| 103 | + g_signal_handler_block(xpad_settings(), pref->priv->notify_tray_handler); |
| 104 | + xpad_settings_set_tray_click_handler(xpad_settings(), gtk_combo_box_get_active(box)); |
| 105 | + g_signal_handler_unblock(xpad_settings(), pref->priv->notify_tray_handler); |
| 106 | +} |
| 107 | + |
| 108 | +static void |
| 109 | change_text_color (GtkColorButton *button, XpadPreferences *pref) |
| 110 | { |
| 111 | GdkColor color; |
| 112 | @@ -516,3 +549,12 @@ |
| 113 | gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (pref->priv->confirmcheck), xpad_settings_get_confirm_destroy (xpad_settings ())); |
| 114 | g_signal_handler_unblock (pref->priv->confirmcheck, pref->priv->confirmcheck_handler); |
| 115 | } |
| 116 | + |
| 117 | +static void |
| 118 | +notify_tray_click(XpadPreferences *pref) |
| 119 | +{ |
| 120 | + g_signal_handler_block(pref->priv->trayconfigbox, pref->priv->trayclick_handler); |
| 121 | + gtk_combo_box_set_active(GTK_COMBO_BOX(pref->priv->trayconfigbox), xpad_settings_get_tray_click_handler(xpad_settings())); |
| 122 | + g_signal_handler_unblock(pref->priv->trayconfigbox, pref->priv->trayclick_handler); |
| 123 | +} |
| 124 | + |
| 125 | |
| 126 | === modified file 'src/xpad-settings.c' |
| 127 | --- src/xpad-settings.c 2013-10-07 20:07:46 +0000 |
| 128 | +++ src/xpad-settings.c 2013-10-14 17:36:30 +0000 |
| 129 | @@ -35,6 +35,7 @@ |
| 130 | gboolean confirm_destroy; |
| 131 | gboolean edit_lock; |
| 132 | gboolean sticky; |
| 133 | + guint tray_click_configuration; |
| 134 | gboolean has_toolbar; |
| 135 | gboolean autohide_toolbar; |
| 136 | gboolean has_scrollbar; |
| 137 | @@ -59,6 +60,7 @@ |
| 138 | PROP_CONFIRM_DESTROY, |
| 139 | PROP_STICKY, |
| 140 | PROP_EDIT_LOCK, |
| 141 | + PROP_TRAY_CLICK_CONFIGURATION, |
| 142 | PROP_HAS_TOOLBAR, |
| 143 | PROP_AUTOHIDE_TOOLBAR, |
| 144 | PROP_HAS_SCROLLBAR, |
| 145 | @@ -149,7 +151,15 @@ |
| 146 | "Whether edit lock mode is enabled", |
| 147 | FALSE, |
| 148 | G_PARAM_READWRITE)); |
| 149 | - |
| 150 | + g_object_class_install_property (gobject_class, |
| 151 | + PROP_TRAY_CLICK_CONFIGURATION, |
| 152 | + g_param_spec_uint ("tray_click_configuration", |
| 153 | + "Tray Click Configuration", |
| 154 | + "What configuration is selected on tray click", |
| 155 | + 0, |
| 156 | + G_MAXUINT, |
| 157 | + 2, |
| 158 | + G_PARAM_READWRITE)); |
| 159 | g_object_class_install_property (gobject_class, |
| 160 | PROP_HAS_TOOLBAR, |
| 161 | g_param_spec_boolean ("has_toolbar", |
| 162 | @@ -239,6 +249,7 @@ |
| 163 | settings->priv->confirm_destroy = TRUE; |
| 164 | settings->priv->sticky = FALSE; |
| 165 | settings->priv->edit_lock = FALSE; |
| 166 | + settings->priv->tray_click_configuration = 0; |
| 167 | settings->priv->fontname = NULL; |
| 168 | settings->priv->has_toolbar = TRUE; |
| 169 | settings->priv->autohide_toolbar = TRUE; |
| 170 | @@ -350,6 +361,21 @@ |
| 171 | return settings->priv->edit_lock; |
| 172 | } |
| 173 | |
| 174 | +void xpad_settings_set_tray_click_handler (XpadSettings *settings, guint conf) |
| 175 | +{ |
| 176 | + if (settings->priv->tray_click_configuration == conf) |
| 177 | + return; |
| 178 | + |
| 179 | + settings->priv->tray_click_configuration = conf; |
| 180 | + save_to_file(settings, DEFAULTS_FILENAME); |
| 181 | + g_object_notify (G_OBJECT (settings), "tray_click_configuration"); |
| 182 | +} |
| 183 | + |
| 184 | +guint xpad_settings_get_tray_click_handler(XpadSettings *settings) |
| 185 | +{ |
| 186 | + return settings->priv->tray_click_configuration; |
| 187 | +} |
| 188 | + |
| 189 | void xpad_settings_set_has_toolbar (XpadSettings *settings, gboolean toolbar) |
| 190 | { |
| 191 | if (settings->priv->has_toolbar == toolbar) |
| 192 | @@ -607,7 +633,11 @@ |
| 193 | case PROP_EDIT_LOCK: |
| 194 | xpad_settings_set_edit_lock (settings, g_value_get_boolean (value)); |
| 195 | break; |
| 196 | - |
| 197 | + |
| 198 | + case PROP_TRAY_CLICK_CONFIGURATION: |
| 199 | + xpad_settings_set_tray_click_handler(settings, g_value_get_uint(value)); |
| 200 | + break; |
| 201 | + |
| 202 | case PROP_HAS_TOOLBAR: |
| 203 | xpad_settings_set_has_toolbar (settings, g_value_get_boolean (value)); |
| 204 | break; |
| 205 | @@ -727,6 +757,7 @@ |
| 206 | "b|confirm_destroy", &settings->priv->confirm_destroy, |
| 207 | "b|edit_lock", &settings->priv->edit_lock, |
| 208 | "b|sticky_on_start", &settings->priv->sticky, |
| 209 | + "u|tray_click_configuration", &settings->priv->tray_click_configuration, |
| 210 | "h|back_red", &back.red, |
| 211 | "h|back_green", &back.green, |
| 212 | "h|back_blue", &back.blue, |
| 213 | @@ -818,6 +849,7 @@ |
| 214 | "b|confirm_destroy", settings->priv->confirm_destroy, |
| 215 | "b|edit_lock", settings->priv->edit_lock, |
| 216 | "b|sticky_on_start", settings->priv->sticky, |
| 217 | + "u|tray_click_configuration", settings->priv->tray_click_configuration, |
| 218 | "h|back_red", settings->priv->back ? settings->priv->back->red : 0, |
| 219 | "h|back_green", settings->priv->back ? settings->priv->back->green : 0, |
| 220 | "h|back_blue", settings->priv->back ? settings->priv->back->blue : 0, |
| 221 | |
| 222 | === modified file 'src/xpad-tray.c' |
| 223 | --- src/xpad-tray.c 2013-10-09 14:46:10 +0000 |
| 224 | +++ src/xpad-tray.c 2013-10-14 17:36:30 +0000 |
| 225 | @@ -29,8 +29,23 @@ |
| 226 | #include "xpad-preferences.h" |
| 227 | #include "xpad-tray.h" |
| 228 | |
| 229 | +enum |
| 230 | +{ |
| 231 | + DO_NOTHING, |
| 232 | + TOGGLE_SHOW_ALL, |
| 233 | + LIST_OF_PADS, |
| 234 | + NEW_PAD |
| 235 | +}; |
| 236 | +// tray icon left click handler |
| 237 | static void xpad_tray_activate_cb (GtkStatusIcon *icon); |
| 238 | +// tray icon right click handler |
| 239 | static void xpad_tray_popup_menu_cb (GtkStatusIcon *icon, guint button, guint time); |
| 240 | +// "toggle show all" menu item handler |
| 241 | +static void xpad_tray_show_hide_all (void); |
| 242 | +// "show pads" menu item handler |
| 243 | +static void xpad_tray_show_windows_list (GtkStatusIcon *icon); |
| 244 | +// helper function to append pad window title as item to menu |
| 245 | +static void xpad_tray_append_pad_window_titles_to_menu (GtkWidget *menu); |
| 246 | |
| 247 | static GtkStatusIcon *docklet = NULL; |
| 248 | |
| 249 | @@ -101,6 +116,25 @@ |
| 250 | g_slist_free (pads); |
| 251 | } |
| 252 | |
| 253 | +static void |
| 254 | +xpad_tray_show_hide_all (void) |
| 255 | +{ |
| 256 | + GSList *pads = xpad_pad_group_get_pads (xpad_app_get_pad_group ()); |
| 257 | + // find if any pad is visible |
| 258 | + gboolean open = FALSE; |
| 259 | + GSList *i; |
| 260 | + for(i = pads; i != NULL; i = i->next) |
| 261 | + { |
| 262 | + if (gtk_widget_get_visible(GTK_WIDGET(i->data))) |
| 263 | + { |
| 264 | + open = TRUE; |
| 265 | + break; |
| 266 | + } |
| 267 | + } |
| 268 | + g_slist_foreach(pads, (GFunc) (open ? gtk_widget_hide : gtk_widget_show), NULL); |
| 269 | + g_slist_free (pads); |
| 270 | +} |
| 271 | + |
| 272 | static void |
| 273 | menu_spawn (XpadPadGroup *group) |
| 274 | { |
| 275 | @@ -112,11 +146,13 @@ |
| 276 | xpad_tray_popup_menu_cb (GtkStatusIcon *icon, guint button, guint time) |
| 277 | { |
| 278 | GtkWidget *menu, *item; |
| 279 | - GSList *pads, *l; |
| 280 | - gint n; |
| 281 | - |
| 282 | + GSList *pads; |
| 283 | + gboolean no_any_pad = FALSE; |
| 284 | menu = gtk_menu_new (); |
| 285 | pads = xpad_pad_group_get_pads (xpad_app_get_pad_group ()); |
| 286 | + if (!pads) |
| 287 | + no_any_pad = TRUE; |
| 288 | + g_slist_free (pads); |
| 289 | |
| 290 | item = gtk_image_menu_item_new_from_stock (GTK_STOCK_NEW, NULL); |
| 291 | g_signal_connect_swapped (item, "activate", G_CALLBACK (menu_spawn), xpad_app_get_pad_group ()); |
| 292 | @@ -131,28 +167,72 @@ |
| 293 | g_signal_connect_swapped (item, "activate", G_CALLBACK (menu_show_all), xpad_app_get_pad_group ()); |
| 294 | gtk_container_add (GTK_CONTAINER (menu), item); |
| 295 | gtk_widget_show (item); |
| 296 | - if (!pads) |
| 297 | + if (no_any_pad) |
| 298 | gtk_widget_set_sensitive (item, FALSE); |
| 299 | |
| 300 | item = gtk_image_menu_item_new_with_mnemonic (_("_Close All")); |
| 301 | g_signal_connect_swapped (item, "activate", G_CALLBACK (xpad_pad_group_close_all), xpad_app_get_pad_group ()); |
| 302 | gtk_container_add (GTK_CONTAINER (menu), item); |
| 303 | gtk_widget_show (item); |
| 304 | - if (!pads) |
| 305 | + if (no_any_pad) |
| 306 | gtk_widget_set_sensitive (item, FALSE); |
| 307 | |
| 308 | item = gtk_separator_menu_item_new (); |
| 309 | gtk_container_add (GTK_CONTAINER (menu), item); |
| 310 | gtk_widget_show (item); |
| 311 | |
| 312 | - /** |
| 313 | - * Order pads according to title. |
| 314 | - */ |
| 315 | + // append window titles |
| 316 | + xpad_tray_append_pad_window_titles_to_menu (menu); |
| 317 | + |
| 318 | + item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PREFERENCES, NULL); |
| 319 | + g_signal_connect (item, "activate", G_CALLBACK (xpad_preferences_open), NULL); |
| 320 | + gtk_container_add (GTK_CONTAINER (menu), item); |
| 321 | + gtk_widget_show (item); |
| 322 | + |
| 323 | + item = gtk_image_menu_item_new_from_stock (GTK_STOCK_QUIT, NULL); |
| 324 | + g_signal_connect (item, "activate", G_CALLBACK (gtk_main_quit), NULL); |
| 325 | + gtk_container_add (GTK_CONTAINER (menu), item); |
| 326 | + gtk_widget_show (item); |
| 327 | + |
| 328 | + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, gtk_status_icon_position_menu, icon, button, time); |
| 329 | +} |
| 330 | + |
| 331 | +static void |
| 332 | +xpad_tray_activate_cb (GtkStatusIcon *icon) |
| 333 | +{ |
| 334 | + switch (xpad_settings_get_tray_click_handler(xpad_settings())) |
| 335 | + { |
| 336 | + case TOGGLE_SHOW_ALL: |
| 337 | + xpad_tray_show_hide_all(); |
| 338 | + break; |
| 339 | + case LIST_OF_PADS: |
| 340 | + xpad_tray_show_windows_list(icon); |
| 341 | + break; |
| 342 | + case NEW_PAD: |
| 343 | + menu_spawn(xpad_app_get_pad_group()); |
| 344 | + break; |
| 345 | + } |
| 346 | +} |
| 347 | + |
| 348 | +static void |
| 349 | +xpad_tray_show_windows_list (GtkStatusIcon *icon) |
| 350 | +{ |
| 351 | + GtkWidget* menu = gtk_menu_new (); |
| 352 | + xpad_tray_append_pad_window_titles_to_menu (menu); |
| 353 | + gtk_menu_popup (GTK_MENU (menu), NULL, NULL, gtk_status_icon_position_menu, icon, 0, gtk_get_current_event_time()); |
| 354 | +} |
| 355 | + |
| 356 | +static void |
| 357 | +xpad_tray_append_pad_window_titles_to_menu (GtkWidget *menu) |
| 358 | +{ |
| 359 | + GSList *pads, *l; |
| 360 | + GtkWidget *item; |
| 361 | + gint n; |
| 362 | + |
| 363 | + pads = xpad_pad_group_get_pads (xpad_app_get_pad_group ()); |
| 364 | + // Order pads according to title. |
| 365 | pads = g_slist_sort (pads, (GCompareFunc) menu_title_compare); |
| 366 | - |
| 367 | - /** |
| 368 | - * Populate list of windows. |
| 369 | - */ |
| 370 | + // Populate list of windows. |
| 371 | for (l = pads, n = 1; l; l = l->next, n++) |
| 372 | { |
| 373 | gchar *title; |
| 374 | @@ -174,6 +254,7 @@ |
| 375 | g_free (title); |
| 376 | } |
| 377 | g_slist_free (pads); |
| 378 | +<<<<<<< TREE |
| 379 | |
| 380 | if (pads) |
| 381 | { |
| 382 | @@ -203,3 +284,6 @@ |
| 383 | g_slist_free (pads); |
| 384 | } |
| 385 | |
| 386 | +======= |
| 387 | +} |
| 388 | +>>>>>>> MERGE-SOURCE |

Hi Sachin,
Thanks for proposing your code for merging. I would like to finish my
current work first (garbage collection with the two bugs). Once the
"garbage counter" is at 0, and the application is still working, I will
upload my code and start merging yours in the main branch, ok?
Some introduction from my side:
I'm Dutch (= The Netherlands), 34 years old, male (duhh), and currently
travelling through South-America by bike. Well, travelling, I am staying in
a nice appartment in Lima, right now. :)
How's life coping for you? You are Indian, am I right?
On 14 October 2013 12:37, Sachin Raut <email address hidden> wrote:
> Sachin Raut has proposed merging lp:~sachinr/xpad/xpad-tray-config into /bugs.launchpad .net/xpad/ +bug/304331 /bugs.launchpad .net/xpad/ +bug/345278 /code.launchpad .net/~sachinr/ xpad/xpad- tray-config/ +merge/ 191013 /code.launchpad .net/~sachinr/ xpad/xpad- tray-config/ +merge/ 191013 preferences. c' preferences. c 2008-09-21 00:03:40 +0000 preferences. c 2013-10-14 17:36:30 +0000 font_handler; back_handler; text_handler; tray_handler; handler; handler; tray_click_ configuration( GtkComboBox *box, s_finalize (GObject *object); s_response (GtkDialog *dialog, gint response);
> lp:xpad.
>
> Requested reviews:
> Xpad Administrators (xpad-team)
> Related bugs:
> Bug #304331 in Xpad: "controlling right/left click on tray icon"
> https:/
> Bug #345278 in Xpad: "toggle on left mouse click"
> https:/
>
> For more details, see:
> https:/
>
> fixed Bug #304331: controlling right/left click on tray icon.
> fixed Bug #345278: toggle on left mouse click.
> --
> https:/
> You are subscribed to branch lp:xpad.
>
> === modified file 'src/xpad-
> --- src/xpad-
> +++ src/xpad-
> @@ -39,6 +39,7 @@
> GtkWidget *editcheck;
> GtkWidget *stickycheck;
> GtkWidget *confirmcheck;
> + GtkWidget *trayconfigbox;
>
> GtkWidget *textbutton;
> GtkWidget *backbutton;
> @@ -50,6 +51,7 @@
> guint notify_
> guint notify_
> guint notify_
> + guint notify_
> guint font_handler;
> guint back_handler;
> guint text_handler;
> @@ -58,6 +60,7 @@
> guint editcheck_handler;
> guint stickycheck_
> guint confirmcheck_
> + guint trayclick_handler;
> };
>
> static void change_edit_check (GtkToggleButton *button, XpadPreferences
> *pref);
> @@ -68,12 +71,14 @@
> static void change_text_color (GtkColorButton *button, XpadPreferences
> *pref);
> static void change_back_color (GtkColorButton *button, XpadPreferences
> *pref);
> static void change_font_face (GtkFontButton *button, XpadPreferences
> *pref);
> +static void change_
> XpadPreferences *pref);
> static void notify_edit (XpadPreferences *pref);
> static void notify_sticky (XpadPreferences *pref);
> static void notify_confirm (XpadPreferences *pref);
> static void notify_fontname (XpadPreferences *pref);
> static void notify_text_color (XpadPreferences *pref);
> static void notify_back_color (XpadPreferences *pref);
> +static void notify_tray_click (XpadPreferences *pref);
> static void xpad_preference
> static void xpad_preference
>
> @@ -112,7 +117,7 @@
> const gchar *fo...