Commit fb68580e authored by Victor Ananjevsky's avatar Victor Ananjevsky

add --scroll to progress dialog. reorganize scrolling policy

parent c21ff288
......@@ -920,6 +920,9 @@ Kill parent process if cancel button is pressed.
.B \-\-pulsate
Pulsate progress bar. This option works only in \fIsingle-bar\fP mode.
.TP
.B \-\-scroll
Make layout scrollable.
.TP
.B \-\-enable-log\fI[=TEXT]\fP
Show log window. This window gathers all of lines from stdin, started from \fI#\fP instead of setting appropriate progress text.
Optional argument \fITEXT\fP is a text label for window expander.
......
......@@ -149,7 +149,7 @@ color_create_widget (GtkWidget * dlg)
/* create color list */
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_widget_set_size_request (sw, -1, 75);
gtk_container_add (GTK_CONTAINER (exp), sw);
gtk_widget_set_vexpand (sw, TRUE);
......
......@@ -818,11 +818,11 @@ form_create_widget (GtkWidget * dlg)
gtk_grid_set_row_homogeneous (GTK_GRID (tbl), options.form_data.homogeneous);
if (options.form_data.scroll)
if (options.common_data.scroll)
{
GtkWidget *sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_NONE);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_container_add (GTK_CONTAINER (sw), tbl);
w = sw;
}
......@@ -1266,7 +1266,7 @@ form_create_widget (GtkWidget * dlg)
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_box_pack_start (GTK_BOX (b), sw, TRUE, TRUE, 0);
e = gtk_text_view_new ();
......
......@@ -430,7 +430,7 @@ html_create_widget (GtkWidget * dlg)
w = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_box_pack_start (GTK_BOX (w), sw, TRUE, TRUE, 0);
view = WEBKIT_WEB_VIEW (webkit_web_view_new ());
......
......@@ -444,7 +444,7 @@ icons_create_widget (GtkWidget * dlg)
w = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (w), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), options.data.hscroll_policy, options.data.vscroll_policy);
store = gtk_list_store_new (NUM_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN);
......
......@@ -494,7 +494,7 @@ cell_set_data (GtkTreeIter *it, guint num, gchar *data)
case YAD_COLUMN_IMAGE:
{
GdkPixbuf *pb;
if (g_file_test (data, G_FILE_TEST_EXISTS))
pb = get_pixbuf (data, YAD_SMALL_ICON, FALSE);
else
......@@ -1312,7 +1312,7 @@ list_create_widget (GtkWidget *dlg)
/* create widget */
w = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (w), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w), options.data.hscroll_policy, options.data.vscroll_policy);
model = create_model ();
......
......@@ -226,6 +226,8 @@ static GOptionEntry common_options[] = {
N_("Set extended completion for entries (any, all, or regex)"), N_("TYPE") },
{ "bool-fmt", 0, 0, G_OPTION_ARG_CALLBACK, set_bool_fmt_type,
N_("Set type of output for boolean values (T, t, Y, y, O, o, 1)"), N_("TYPE") },
{ "scroll", 0, 0, G_OPTION_ARG_NONE, &options.common_data.scroll,
N_("Make main widget scrollable"), NULL },
{ "disable-search", 0, G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &options.common_data.enable_search,
N_("Disable search in text and html dialogs"), NULL },
#if GLIB_CHECK_VERSION(2,30,0)
......@@ -375,8 +377,6 @@ static GOptionEntry form_options[] = {
N_("Set alignment of filed labels (left, center or right)"), N_("TYPE") },
{ "columns", 0, 0, G_OPTION_ARG_INT, &options.form_data.columns,
N_("Set number of columns in form"), N_("NUMBER") },
{ "scroll", 0, 0, G_OPTION_ARG_NONE, &options.form_data.scroll,
N_("Make form scrollable"), NULL },
{ "homogeneous", 0, 0, G_OPTION_ARG_NONE, &options.form_data.homogeneous,
N_("Make form fields same height"), NULL },
{ "output-by-row", 0, 0, G_OPTION_ARG_NONE, &options.form_data.output_by_row,
......@@ -1325,9 +1325,9 @@ set_scroll_policy (const gchar * option_name, const gchar * value, gpointer data
g_printerr (_("Unknown scrollbar policy type: %s\n"), value);
if (strcmp (option_name, "--hscroll-policy") == 0)
options.hscroll_policy = pt;
options.data.hscroll_policy = pt;
else
options.vscroll_policy = pt;
options.data.vscroll_policy = pt;
return TRUE;
}
......@@ -1563,9 +1563,6 @@ yad_options_init (void)
options.debug = FALSE;
#endif
options.hscroll_policy = GTK_POLICY_AUTOMATIC;
options.vscroll_policy = GTK_POLICY_AUTOMATIC;
/* plug settings */
options.plug = -1;
options.tabnum = 0;
......@@ -1592,6 +1589,8 @@ yad_options_init (void)
options.data.expander = NULL;
options.data.timeout = 0;
options.data.to_indicator = NULL;
options.data.hscroll_policy = GTK_POLICY_AUTOMATIC;
options.data.vscroll_policy = GTK_POLICY_AUTOMATIC;
options.data.buttons = NULL;
options.data.no_buttons = FALSE;
options.data.buttons_layout = GTK_BUTTONBOX_END;
......@@ -1663,6 +1662,7 @@ yad_options_init (void)
options.common_data.bool_fmt = YAD_BOOL_FMT_UT;
options.common_data.complete = YAD_COMPLETE_SIMPLE;
options.common_data.icon_size = 0;
options.common_data.scroll = FALSE;
options.common_data.enable_search = TRUE;
#if GLIB_CHECK_VERSION(2,30,0)
options.common_data.size_fmt = G_FORMAT_SIZE_DEFAULT;
......@@ -1733,7 +1733,6 @@ yad_options_init (void)
/* Initialize form data */
options.form_data.fields = NULL;
options.form_data.columns = 1;
options.form_data.scroll = FALSE;
options.form_data.output_by_row = FALSE;
options.form_data.focus_field = 1;
options.form_data.cycle_read = FALSE;
......
......@@ -259,7 +259,7 @@ picture_create_widget (GtkWidget * dlg)
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_NONE);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
viewport = gtk_viewport_new (gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (sw)),
gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (sw)));
......
......@@ -234,7 +234,7 @@ handle_stdin (GIOChannel *channel, GIOCondition condition, gpointer data)
GtkWidget *
progress_create_widget (GtkWidget *dlg)
{
GtkWidget *table;
GtkWidget *table, *w = NULL;
GIOChannel *channel;
GSList *b;
gint i = 0;
......@@ -269,6 +269,17 @@ progress_create_widget (GtkWidget *dlg)
gtk_grid_set_row_spacing (GTK_GRID (table), 2);
gtk_grid_set_column_spacing (GTK_GRID (table), 2);
if (options.common_data.scroll)
{
GtkWidget *sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_NONE);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_container_add (GTK_CONTAINER (sw), table);
w = sw;
}
else
w = table;
for (b = options.progress_data.bars; b; b = b->next)
{
GtkWidget *l, *w;
......@@ -343,7 +354,7 @@ progress_create_widget (GtkWidget *dlg)
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_scrolled_window_set_propagate_natural_height (GTK_SCROLLED_WINDOW (sw), TRUE);
gtk_container_add (GTK_CONTAINER (ex), sw);
......@@ -365,5 +376,5 @@ progress_create_widget (GtkWidget *dlg)
g_io_channel_set_flags (channel, G_IO_FLAG_NONBLOCK, NULL);
g_io_add_watch (channel, G_IO_IN | G_IO_HUP, handle_stdin, dlg);
return table;
return w;
}
......@@ -625,7 +625,7 @@ text_create_widget (GtkWidget * dlg)
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_ETCHED_IN);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.hscroll_policy, options.vscroll_policy);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), options.data.hscroll_policy, options.data.vscroll_policy);
gtk_box_pack_start (GTK_BOX (w), sw, TRUE, TRUE, 0);
#ifdef HAVE_SOURCEVIEW
......
......@@ -28,7 +28,8 @@ trap "rm -f $res1 $res2" EXIT
KEY=$RANDOM
# first tab (values at the end due to possible hyphens)
yad --plug=$KEY --tabnum=1 --bool-fmt=t --quoted-output --separator=" " --form --scroll \
yad --plug=$KEY --tabnum=1 --bool-fmt=t --quoted-output --separator=" " \
--form --scroll --homogeneous \
--text=$"Main YAD settings and default values\n\n" \
--field=$"Width of dialog window::NUM" \
--field=$"Height of dialog window::NUM" \
......
......@@ -236,6 +236,8 @@ typedef struct {
gchar *icon_theme;
gchar *expander;
gint borders;
GtkPolicyType hscroll_policy;
GtkPolicyType vscroll_policy;
GSList *buttons;
gboolean no_buttons;
gboolean no_markup;
......@@ -335,7 +337,6 @@ typedef struct {
typedef struct {
GSList *fields;
guint columns;
gboolean scroll;
gboolean output_by_row;
guint focus_field;
gboolean cycle_read;
......@@ -524,6 +525,7 @@ typedef struct {
gboolean hide_text;
gint icon_size;
gboolean enable_search;
gboolean scroll;
#if GLIB_CHECK_VERSION(2,30,0)
GFormatSizeFlags size_fmt;
#endif
......@@ -574,9 +576,6 @@ typedef struct {
gchar *css;
gchar *gtkrc_file;
GtkPolicyType hscroll_policy;
GtkPolicyType vscroll_policy;
gchar *rest_file;
gchar **extra_data;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment