cairo-dock-team team mailing list archive
-
cairo-dock-team team
-
Mailing list archive
-
Message #03610
[Merge] lp:~sqp/cairo-dock-core/main-gui-filter-tweak into lp:cairo-dock-core
Matthieu Baerts has proposed merging lp:~sqp/cairo-dock-core/main-gui-filter-tweak into lp:cairo-dock-core.
Requested reviews:
Matthieu Baerts (matttbe)
For more details, see:
https://code.launchpad.net/~sqp/cairo-dock-core/main-gui-filter-tweak/+merge/95562
--
https://code.launchpad.net/~sqp/cairo-dock-core/main-gui-filter-tweak/+merge/95562
Your team Cairo-Dock Team is subscribed to branch lp:cairo-dock-core.
=== modified file 'src/cairo-dock-gui-main.c'
--- src/cairo-dock-gui-main.c 2012-02-21 00:44:34 +0000
+++ src/cairo-dock-gui-main.c 2012-03-02 13:55:20 +0000
@@ -47,10 +47,10 @@
#include "cairo-dock-gui-main.h"
#define CAIRO_DOCK_GROUP_ICON_SIZE 32
-#define CAIRO_DOCK_CATEGORY_ICON_SIZE 32
+#define CAIRO_DOCK_CATEGORY_ICON_SIZE 24
#define CAIRO_DOCK_NB_BUTTONS_BY_ROW 4
#define CAIRO_DOCK_NB_BUTTONS_BY_ROW_MIN 3
-#define CAIRO_DOCK_TABLE_MARGIN 12
+#define CAIRO_DOCK_TABLE_MARGIN 6
#define CAIRO_DOCK_CONF_PANEL_WIDTH 1250
#define CAIRO_DOCK_CONF_PANEL_WIDTH_MIN 800
#define CAIRO_DOCK_CONF_PANEL_HEIGHT 700
@@ -106,6 +106,7 @@
GSList *s_pCurrentWidgetList; // liste des widgets du module courant.
GSList *s_pExtraCurrentWidgetList; // liste des widgets des eventuels modules lies.
static GList *s_pGroupDescriptionList = NULL;
+static GtkWidget *s_pPreviewBox = NULL;
static GtkWidget *s_pPreviewImage = NULL;
static GtkWidget *s_pOkButton = NULL;
static GtkWidget *s_pApplyButton = NULL;
@@ -861,9 +862,11 @@
1,
1);
}
+ else
+ gtk_widget_show (s_pPreviewBox);
+
gtk_image_set_from_pixbuf (GTK_IMAGE (pPreviewImage), pPreviewPixbuf);
gdk_pixbuf_unref (pPreviewPixbuf);
- gtk_widget_show (pPreviewImage);
}
if (s_pDialog != NULL)
@@ -913,7 +916,7 @@
int iPreviewWidgetWidth = s_iPreviewWidth;
GtkWidget *pPreviewImage = s_pPreviewImage;
- gtk_widget_hide (pPreviewImage);
+ gtk_widget_hide (s_pPreviewBox);
if (! cairo_dock_dialog_unreference (s_pDialog))
cairo_dock_dialog_unreference (s_pDialog);
@@ -1282,7 +1285,7 @@
return pWidget;
GtkWidget *pLabel = gtk_label_new (NULL);
- gchar *cLabel2 = g_strdup_printf ("<span font_desc=\"Sans 12\"><b>%s</b></span>", cLabel);
+ gchar *cLabel2 = g_strdup_printf ("<span size='large' weight='800'>%s</span>", cLabel);
gtk_label_set_markup (GTK_LABEL (pLabel), cLabel2);
g_free (cLabel2);
@@ -1563,6 +1566,22 @@
pGroupDescription->pManagers = g_list_prepend (NULL, (gchar*)"Icons");
}
+static GtkWidget *cairo_dock_build_main_ihm_left_frame (const gchar *cText)
+{
+ // frame
+ GtkWidget *pFrame = gtk_frame_new (NULL);
+ //gtk_container_set_border_width (GTK_CONTAINER (pFrame), CAIRO_DOCK_FRAME_MARGIN);
+ gtk_frame_set_shadow_type (GTK_FRAME (pFrame), GTK_SHADOW_NONE);
+
+ // label
+ gchar *cLabel = g_strdup_printf ("<span size='x-large' weight='800' color=\"#81728C\">%s</span>", cText);
+ GtkWidget *pLabel = gtk_label_new (NULL);
+ gtk_label_set_markup (GTK_LABEL (pLabel), cLabel);
+ g_free (cLabel);
+ gtk_frame_set_label_widget (GTK_FRAME (pFrame), pLabel);
+
+ return pFrame;
+}
static GtkWidget *cairo_dock_build_main_ihm (const gchar *cConfFilePath)
{
@@ -1616,25 +1635,89 @@
s_pGroupsVBox = _gtk_vbox_new (CAIRO_DOCK_TABLE_MARGIN);
GtkWidget *pScrolledWindow = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (pScrolledWindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (pScrolledWindow), s_pGroupsVBox);
+ GtkWidget *pViewport = gtk_viewport_new( NULL, NULL );
+ gtk_viewport_set_shadow_type ( GTK_VIEWPORT (pViewport), GTK_SHADOW_NONE);
+ gtk_container_add (GTK_CONTAINER( pViewport ), s_pGroupsVBox );
+ gtk_container_add (GTK_CONTAINER( pScrolledWindow ), pViewport );
+
gtk_box_pack_start (GTK_BOX (pVBox),
pScrolledWindow,
TRUE,
TRUE,
0);
+ // Empty box to get some space between window border and filter label
+ gtk_box_pack_start (GTK_BOX (pCategoriesVBox),
+ _gtk_hbox_new (CAIRO_DOCK_FRAME_MARGIN / 2),
+ FALSE,
+ FALSE,
+ 0);
+
+ //\_____________ Filter.
+ GtkWidget *pFilterFrame = cairo_dock_build_main_ihm_left_frame (_("Filter"));
+ gtk_box_pack_start (GTK_BOX (pCategoriesVBox),
+ pFilterFrame,
+ FALSE,
+ FALSE,
+ 0);
+
+ // text entry
+ GtkWidget *pFilterBox = _gtk_hbox_new (0);
+ gtk_container_add (GTK_CONTAINER (pFilterFrame), pFilterBox);
+
+ s_pFilterEntry = gtk_entry_new ();
+ g_signal_connect (s_pFilterEntry, "activate", G_CALLBACK (on_activate_filter), NULL);
+ gtk_box_pack_start (GTK_BOX (pFilterBox),
+ s_pFilterEntry,
+ TRUE,
+ FALSE,
+ 0);
+ //~ gtk_container_set_focus_child (GTK_CONTAINER (s_pMainWindow), pFilterBox); /// set focus to filter box
+
+ #if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)
+ gtk_entry_set_icon_activatable (GTK_ENTRY (s_pFilterEntry), GTK_ENTRY_ICON_SECONDARY, TRUE);
+ gtk_entry_set_icon_from_stock (GTK_ENTRY (s_pFilterEntry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
+ g_signal_connect (s_pFilterEntry, "icon-press", G_CALLBACK (on_clear_filter), NULL);
+ #endif
+
+ // Filter options
+ _reset_filter_state ();
+
+ GtkWidget *pMenuBar = gtk_menu_bar_new ();
+ GtkWidget *pMenuItem = gtk_image_menu_item_new_from_stock (GTK_STOCK_PREFERENCES, NULL);
+ gtk_menu_item_set_label (GTK_MENU_ITEM (pMenuItem), NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (pMenuBar), pMenuItem);
+ gtk_box_pack_start (GTK_BOX (pFilterBox),
+ pMenuBar,
+ FALSE,
+ FALSE,
+ 0);
+ GtkWidget *pMenu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), pMenu);
+
+
+ pMenuItem = gtk_check_menu_item_new_with_label (_("All words"));
+ gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
+ g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_all_words), NULL);
+
+ pMenuItem = gtk_check_menu_item_new_with_label (_("Highlighted words"));
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), TRUE);
+ gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
+ g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_highlight_words), NULL);
+
+ pMenuItem = gtk_check_menu_item_new_with_label (_("Hide others"));
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), TRUE);
+ gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
+ g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_hide_others), NULL);
+
+ pMenuItem = gtk_check_menu_item_new_with_label (_("Search in description"));
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), TRUE);
+ gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
+ g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_search_in_tooltip), NULL);
+
+
//\_____________ On construit les boutons de chaque categorie.
- GtkWidget *pCategoriesFrame = gtk_frame_new (NULL);
- gtk_container_set_border_width (GTK_CONTAINER (pCategoriesFrame), CAIRO_DOCK_FRAME_MARGIN);
- gtk_frame_set_shadow_type (GTK_FRAME (pCategoriesFrame), GTK_SHADOW_OUT);
-
- GtkWidget *pLabel;
- gchar *cLabel = g_strdup_printf ("<span font_desc=\"Sans 12\" color=\"#81728C\"><b><u>%s :</u></b></span>", _("Categories"));
- pLabel = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (pLabel), cLabel);
- g_free (cLabel);
- gtk_frame_set_label_widget (GTK_FRAME (pCategoriesFrame), pLabel);
-
+ GtkWidget *pCategoriesFrame = cairo_dock_build_main_ihm_left_frame (_("Categories"));
gtk_box_pack_start (GTK_BOX (pCategoriesVBox),
pCategoriesFrame,
TRUE, /// FALSE
@@ -1663,6 +1746,7 @@
g_signal_connect (G_OBJECT (pCategoryButton), "clicked", G_CALLBACK(on_click_all_button), NULL);
gtk_toolbar_insert (GTK_TOOLBAR (s_pToolBar) , pCategoryButton, -1);
pCategoryWidget->pCategoryButton = pCategoryButton;
+ gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (pCategoryButton), TRUE);
guint i;
for (i = 0; i < CAIRO_DOCK_NB_CATEGORY; i ++)
@@ -1685,8 +1769,8 @@
gtk_container_set_border_width (GTK_CONTAINER (pCategoryWidget->pFrame), CAIRO_DOCK_FRAME_MARGIN);
gtk_frame_set_shadow_type (GTK_FRAME (pCategoryWidget->pFrame), GTK_SHADOW_OUT);
- pLabel = gtk_label_new (NULL);
- cLabel = g_strdup_printf ("<span font_desc=\"Sans 12\"><b>%s</b></span>", gettext (s_cCategoriesDescription[2*i]));
+ GtkWidget *pLabel = gtk_label_new (NULL);
+ gchar *cLabel = g_strdup_printf ("<span size='large' weight='800'>%s</span>", gettext (s_cCategoriesDescription[2*i]));
gtk_label_set_markup (GTK_LABEL (pLabel), cLabel);
g_free (cLabel);
gtk_frame_set_label_widget (GTK_FRAME (pCategoryWidget->pFrame), pLabel);
@@ -1768,89 +1852,9 @@
cairo_dock_foreach_module_in_alphabetical_order ((GCompareFunc) _cairo_dock_add_one_module_widget, cActiveModules);
g_free (cActiveModules);
- //\_____________ On ajoute le filtre.
- // frame
- GtkWidget *pFilterFrame = gtk_frame_new (NULL);
- cLabel = g_strdup_printf ("<span font_desc=\"Sans 12\" color=\"#81728C\"><b><u>%s :</u></b></span>", _("Filter"));
- GtkWidget *pFilterLabelContainer = _gtk_hbox_new (CAIRO_DOCK_FRAME_MARGIN);
- GtkWidget *pImage = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_MENU);
- gtk_container_add (GTK_CONTAINER (pFilterLabelContainer), pImage);
-
- pLabel = gtk_label_new (NULL);
- gtk_label_set_markup (GTK_LABEL (pLabel), cLabel);
- g_free (cLabel);
- gtk_container_add (GTK_CONTAINER (pFilterLabelContainer), pLabel);
-
- gtk_frame_set_label_widget (GTK_FRAME (pFilterFrame), pFilterLabelContainer);
- gtk_container_set_border_width (GTK_CONTAINER (pFilterFrame), CAIRO_DOCK_FRAME_MARGIN);
- gtk_frame_set_shadow_type (GTK_FRAME (pFilterFrame), GTK_SHADOW_OUT);
- gtk_box_pack_start (GTK_BOX (pCategoriesVBox),
- pFilterFrame,
- FALSE,
- FALSE,
- 0);
-
- GtkWidget *pOptionVBox = _gtk_vbox_new (CAIRO_DOCK_FRAME_MARGIN);
- gtk_container_add (GTK_CONTAINER (pFilterFrame), pOptionVBox);
-
- // entree de texte
- GtkWidget *pFilterBox = _gtk_hbox_new (CAIRO_DOCK_FRAME_MARGIN);
- gtk_box_pack_start (GTK_BOX (pOptionVBox),
- pFilterBox,
- FALSE,
- FALSE,
- 0);
- s_pFilterEntry = gtk_entry_new ();
- g_signal_connect (s_pFilterEntry, "activate", G_CALLBACK (on_activate_filter), NULL);
- gtk_box_pack_start (GTK_BOX (pFilterBox),
- s_pFilterEntry,
- FALSE,
- FALSE,
- 0);
-
- #if (GTK_MAJOR_VERSION > 2 || GTK_MINOR_VERSION >= 16)
- gtk_entry_set_icon_activatable (GTK_ENTRY (s_pFilterEntry), GTK_ENTRY_ICON_SECONDARY, TRUE);
- gtk_entry_set_icon_from_stock (GTK_ENTRY (s_pFilterEntry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_CLEAR);
- g_signal_connect (s_pFilterEntry, "icon-press", G_CALLBACK (on_clear_filter), NULL);
- #endif
-
- // options
- _reset_filter_state ();
-
- GtkWidget *pMenuBar = gtk_menu_bar_new ();
- GtkWidget *pMenuItem = gtk_menu_item_new_with_label (_("Options"));
- gtk_menu_shell_append (GTK_MENU_SHELL (pMenuBar), pMenuItem);
- gtk_box_pack_start (GTK_BOX (pOptionVBox),
- pMenuBar,
- FALSE,
- FALSE,
- 0);
- GtkWidget *pMenu = gtk_menu_new ();
- gtk_menu_item_set_submenu (GTK_MENU_ITEM (pMenuItem), pMenu);
-
- pMenuItem = gtk_check_menu_item_new_with_label (_("All words"));
- gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
- g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_all_words), NULL);
-
- pMenuItem = gtk_check_menu_item_new_with_label (_("Highlighted words"));
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), TRUE);
- gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
- g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_highlight_words), NULL);
-
- pMenuItem = gtk_check_menu_item_new_with_label (_("Hide others"));
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), TRUE);
- gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
- g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_hide_others), NULL);
-
- pMenuItem = gtk_check_menu_item_new_with_label (_("Search in description"));
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (pMenuItem), TRUE);
- gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
- g_signal_connect (pMenuItem, "toggled", G_CALLBACK (on_toggle_search_in_tooltip), NULL);
-
//\_____________ On ajoute le cadre d'activation du module.
s_pGroupFrame = gtk_frame_new ("pouet");
- gtk_container_set_border_width (GTK_CONTAINER (s_pGroupFrame), CAIRO_DOCK_FRAME_MARGIN);
- gtk_frame_set_shadow_type (GTK_FRAME (s_pGroupFrame), GTK_SHADOW_OUT);
+ gtk_frame_set_shadow_type (GTK_FRAME (s_pGroupFrame), GTK_SHADOW_NONE);
gtk_box_pack_start (GTK_BOX (pCategoriesVBox),
s_pGroupFrame,
FALSE,
@@ -1862,15 +1866,15 @@
gtk_widget_show_all (s_pActivateButton);
//\_____________ On ajoute la zone de prevue.
- GtkWidget *pInfoVBox = _gtk_vbox_new (CAIRO_DOCK_FRAME_MARGIN);
+ s_pPreviewBox = _gtk_vbox_new (CAIRO_DOCK_FRAME_MARGIN);
gtk_box_pack_start (GTK_BOX (pCategoriesVBox),
- pInfoVBox,
+ s_pPreviewBox,
FALSE,
FALSE,
0);
s_pPreviewImage = gtk_image_new_from_pixbuf (NULL);
- gtk_container_add (GTK_CONTAINER (pInfoVBox), s_pPreviewImage);
+ gtk_container_add (GTK_CONTAINER (s_pPreviewBox), s_pPreviewImage);
//\_____________ On ajoute les boutons.
GtkWidget *pButtonsHBox = _gtk_hbox_new (CAIRO_DOCK_FRAME_MARGIN);
@@ -1922,7 +1926,7 @@
gchar *cLink = cairo_dock_get_third_party_applets_link ();
GtkWidget *pThirdPartyButton = gtk_link_button_new_with_label (cLink, _("More applets"));
gtk_widget_set_tooltip_text (pThirdPartyButton, _("Get more applets online !"));
- pImage = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON);
+ GtkWidget *pImage = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_BUTTON);
gtk_button_set_image (GTK_BUTTON (pThirdPartyButton), pImage);
g_free (cLink);
gtk_box_pack_start (GTK_BOX (pButtonsHBox),
@@ -1953,7 +1957,7 @@
gtk_widget_hide (s_pApplyButton);
gtk_widget_hide (s_pOkButton);
gtk_widget_hide (s_pGroupFrame);
- gtk_widget_hide (s_pPreviewImage);
+ gtk_widget_hide (s_pPreviewBox);
g_signal_connect (G_OBJECT (s_pMainWindow),
"delete-event",
@@ -2343,7 +2347,7 @@
//\_______________ On met a jour la frame du groupe (label + check-button).
GtkWidget *pLabel = gtk_label_new (NULL);
- gchar *cLabel = g_strdup_printf ("<span font_desc=\"Sans 12\" color=\"#81728C\"><u><b>%s</b></u></span>", pGroupDescription->cTitle);
+ gchar *cLabel = g_strdup_printf ("<span size='x-large' weight='800' color=\"#81728C\">%s</span>", pGroupDescription->cTitle);
gtk_label_set_markup (GTK_LABEL (pLabel), cLabel);
g_free (cLabel);
gtk_frame_set_label_widget (GTK_FRAME (s_pGroupFrame), pLabel);
Follow ups