libgimpwidgets: Enforce minimal sizes of panels in GimpBrowser
The 'Plugin Browser' and 'Procedure Browser' use the same logic for enforcing the minimum size of the details page and the list views. And both are doing it by first setting the minimum: size of GtkTreeView and then they climb up the widget tree to do the same. This is not ideal. Setting the minimum size of GtkTreeView is not necessary because it is inside of GtkScrolledWindow which makes this request moot. It also does not enforce the minimum height of the widget for that reason. And if GimpBrowser ever changes, both browsers will need to update their logic. Moving the size enforcing a level up is logical and more robust.
This commit is contained in:
parent
8ff7102557
commit
08218c7056
3 changed files with 8 additions and 22 deletions
|
|
@ -45,10 +45,8 @@
|
|||
**/
|
||||
|
||||
|
||||
#define DBL_LIST_WIDTH 250
|
||||
#define DBL_LIST_HEIGHT 250
|
||||
#define DBL_WIDTH 650
|
||||
#define DBL_HEIGHT 400
|
||||
#define DBL_WIDTH 650
|
||||
#define DBL_HEIGHT 400
|
||||
|
||||
|
||||
enum
|
||||
|
|
@ -143,7 +141,6 @@ gimp_proc_browser_dialog_init (GimpProcBrowserDialog *dialog)
|
|||
GtkWidget *scrolled_window;
|
||||
GtkCellRenderer *renderer;
|
||||
GtkTreeSelection *selection;
|
||||
GtkWidget *parent;
|
||||
|
||||
gtk_window_set_default_size (GTK_WINDOW (dialog),
|
||||
DBL_WIDTH, DBL_HEIGHT);
|
||||
|
|
@ -196,7 +193,6 @@ gimp_proc_browser_dialog_init (GimpProcBrowserDialog *dialog)
|
|||
G_CALLBACK (browser_row_activated),
|
||||
dialog);
|
||||
|
||||
gtk_widget_set_size_request (dialog->tree_view, DBL_LIST_WIDTH, DBL_LIST_HEIGHT);
|
||||
gtk_container_add (GTK_CONTAINER (scrolled_window), dialog->tree_view);
|
||||
gtk_widget_show (dialog->tree_view);
|
||||
|
||||
|
|
@ -206,11 +202,6 @@ gimp_proc_browser_dialog_init (GimpProcBrowserDialog *dialog)
|
|||
G_CALLBACK (browser_selection_changed),
|
||||
dialog);
|
||||
|
||||
parent = gtk_widget_get_parent (gimp_browser_get_right_vbox (GIMP_BROWSER (dialog->browser)));
|
||||
parent = gtk_widget_get_parent (parent);
|
||||
|
||||
gtk_widget_set_size_request (parent, DBL_WIDTH - DBL_LIST_WIDTH, -1);
|
||||
|
||||
/* first search (all procedures) */
|
||||
browser_search (GIMP_BROWSER (dialog->browser),
|
||||
"", SEARCH_TYPE_ALL, dialog);
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@
|
|||
* A base class for a documentation browser.
|
||||
**/
|
||||
|
||||
#define GIMP_BROWSER_LEFT_MIN_WIDTH 250
|
||||
#define GIMP_BROWSER_LEFT_MIN_HEIGHT 250
|
||||
#define GIMP_BROWSER_RIGHT_MIN_WIDTH 400
|
||||
#define GIMP_BROWSER_RIGHT_MIN_HEIGHT 250
|
||||
|
||||
enum
|
||||
{
|
||||
|
|
@ -122,6 +126,7 @@ gimp_browser_init (GimpBrowser *browser)
|
|||
browser->search_type = -1;
|
||||
|
||||
browser->left_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
|
||||
gtk_widget_set_size_request (GTK_WIDGET (browser->left_vbox), GIMP_BROWSER_LEFT_MIN_WIDTH, GIMP_BROWSER_LEFT_MIN_HEIGHT);
|
||||
gtk_paned_pack1 (GTK_PANED (browser), browser->left_vbox, TRUE, FALSE);
|
||||
gtk_widget_show (browser->left_vbox);
|
||||
|
||||
|
|
@ -170,6 +175,7 @@ gimp_browser_init (GimpBrowser *browser)
|
|||
/* scrolled window */
|
||||
|
||||
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
|
||||
gtk_widget_set_size_request (GTK_WIDGET (scrolled_window), GIMP_BROWSER_RIGHT_MIN_WIDTH, GIMP_BROWSER_RIGHT_MIN_HEIGHT);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC,
|
||||
GTK_POLICY_AUTOMATIC);
|
||||
|
|
|
|||
|
|
@ -36,8 +36,6 @@
|
|||
#define PLUG_IN_PROC "plug-in-plug-in-details"
|
||||
#define PLUG_IN_BINARY "plugin-browser"
|
||||
#define PLUG_IN_ROLE "gimp-plugin-browser"
|
||||
#define DBL_LIST_WIDTH 250
|
||||
#define DBL_LIST_HEIGHT 250
|
||||
#define DBL_WIDTH 650
|
||||
#define DBL_HEIGHT 400
|
||||
|
||||
|
|
@ -546,7 +544,6 @@ browser_dialog_new (void)
|
|||
GtkTreeStore *tree_store;
|
||||
GtkWidget *list_view;
|
||||
GtkWidget *tree_view;
|
||||
GtkWidget *parent;
|
||||
GtkTreeViewColumn *column;
|
||||
GtkCellRenderer *renderer;
|
||||
GtkTreeSelection *selection;
|
||||
|
|
@ -642,8 +639,6 @@ browser_dialog_new (void)
|
|||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||
|
||||
gtk_widget_set_size_request (list_view, DBL_LIST_WIDTH, DBL_LIST_HEIGHT);
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list_view));
|
||||
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
|
||||
|
||||
|
|
@ -704,7 +699,6 @@ browser_dialog_new (void)
|
|||
GTK_SHADOW_IN);
|
||||
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window),
|
||||
GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
|
||||
gtk_widget_set_size_request (tree_view, DBL_LIST_WIDTH, DBL_LIST_HEIGHT);
|
||||
|
||||
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
|
||||
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
|
||||
|
|
@ -721,11 +715,6 @@ browser_dialog_new (void)
|
|||
gtk_widget_show (scrolled_window);
|
||||
gtk_widget_show (notebook);
|
||||
|
||||
parent = gtk_widget_get_parent (gimp_browser_get_right_vbox (GIMP_BROWSER (browser->browser)));
|
||||
parent = gtk_widget_get_parent (parent);
|
||||
|
||||
gtk_widget_set_size_request (parent, DBL_WIDTH - DBL_LIST_WIDTH, -1);
|
||||
|
||||
/* now build the list */
|
||||
browser_search (GIMP_BROWSER (browser->browser), "", 0, browser);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue