Added. (prefs_widget_init): Connect to "Add" and "Remove"
2001-07-03 Richard Hestilow <hestilow@ximian.com> * prefs-widget.c: (add_select_cb, screensaver_add_cb, screensaver_remove_cb): Added. (prefs_widget_init): Connect to "Add" and "Remove" * screensaver-prefs-dialog.c (get_basic_screensaver_widget): Replace confusing stuff with ultra-simple dialog. * screensaver-properties.glade[.h]: Remove "Demo" popup item, as it is on the settings dialogs and is not easy to manage with menu selection anyway. (Too much mouse movement).
This commit is contained in:
parent
3e3422d465
commit
70f3cc51cc
5 changed files with 131 additions and 36 deletions
|
@ -1,3 +1,16 @@
|
|||
2001-07-03 Richard Hestilow <hestilow@ximian.com>
|
||||
|
||||
* prefs-widget.c:
|
||||
(add_select_cb, screensaver_add_cb, screensaver_remove_cb): Added.
|
||||
(prefs_widget_init): Connect to "Add" and "Remove"
|
||||
|
||||
* screensaver-prefs-dialog.c (get_basic_screensaver_widget): Replace
|
||||
confusing stuff with ultra-simple dialog.
|
||||
|
||||
* screensaver-properties.glade[.h]: Remove "Demo" popup item, as it
|
||||
is on the settings dialogs and is not easy to manage with
|
||||
menu selection anyway. (Too much mouse movement).
|
||||
|
||||
2001-07-03 Richard Hestilow <hestilow@ximian.com>
|
||||
|
||||
* screensaver-properties.glade[.h]: Added.
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
#include "prefs-widget.h"
|
||||
#include "preview.h"
|
||||
#include "screensaver-prefs-dialog.h"
|
||||
#include "selection-dialog.h"
|
||||
#include "rc-parse.h"
|
||||
#include <gal/e-table/e-table.h>
|
||||
#include <gal/e-table/e-table-simple.h>
|
||||
|
@ -65,28 +66,37 @@ static void popup_item_menu (ETable *table,
|
|||
int row, int col, GdkEvent *event,
|
||||
PrefsWidget *prefs_widget);
|
||||
|
||||
static void about_cb (GtkWidget *widget,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void settings_cb (GtkWidget *button,
|
||||
PrefsWidget *widget);
|
||||
static void pwr_manage_toggled_cb (GtkWidget *button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void pwr_conf_cb (GtkWidget *button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void pwr_conf_button_cb (GnomeDialog *dlg,
|
||||
gint button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void pwr_save_prefs (PrefsWidget *prefs_widget);
|
||||
static void pwr_restore_prefs (PrefsWidget *prefs_widget);
|
||||
static time_t pwr_get_toggled_entry (PrefsWidget *prefs_widget,
|
||||
const gchar *enable_str,
|
||||
const gchar *entry_str);
|
||||
static void pwr_set_toggled_entry (PrefsWidget *prefs_widget,
|
||||
const gchar *enable_str,
|
||||
const gchar *entry_str,
|
||||
time_t value);
|
||||
static void about_cb (GtkWidget *widget,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void settings_cb (GtkWidget *button,
|
||||
PrefsWidget *widget);
|
||||
static void pwr_manage_toggled_cb (GtkWidget *button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void pwr_conf_cb (GtkWidget *button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void pwr_conf_button_cb (GnomeDialog *dlg,
|
||||
gint button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void pwr_save_prefs (PrefsWidget *prefs_widget);
|
||||
static void pwr_restore_prefs (PrefsWidget *prefs_widget);
|
||||
static time_t pwr_get_toggled_entry (PrefsWidget *prefs_widget,
|
||||
const gchar *enable_str,
|
||||
const gchar *entry_str);
|
||||
static void pwr_set_toggled_entry (PrefsWidget *prefs_widget,
|
||||
const gchar *enable_str,
|
||||
const gchar *entry_str,
|
||||
time_t value);
|
||||
|
||||
static const gchar *table_compute_state (SelectionMode mode);
|
||||
|
||||
static void add_select_cb (GtkWidget *widget,
|
||||
Screensaver *saver,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void screensaver_add_cb (GtkWidget *button,
|
||||
PrefsWidget *prefs_widget);
|
||||
static void screensaver_remove_cb (GtkWidget *button,
|
||||
PrefsWidget *prefs_widget);
|
||||
|
||||
static const gchar *table_compute_state (SelectionMode mode);
|
||||
/* Model declarations */
|
||||
static int model_col_count (ETableModel *etm, void *data);
|
||||
static int model_row_count (ETableModel *etm, void *data);
|
||||
|
@ -282,6 +292,16 @@ prefs_widget_init (PrefsWidget *prefs_widget)
|
|||
gtk_signal_connect (GTK_OBJECT (widget), "activate",
|
||||
GTK_SIGNAL_FUNC (settings_cb),
|
||||
prefs_widget);
|
||||
|
||||
widget = WID ("popup_add");
|
||||
gtk_signal_connect (GTK_OBJECT (widget), "activate",
|
||||
GTK_SIGNAL_FUNC (screensaver_add_cb),
|
||||
prefs_widget);
|
||||
|
||||
widget = WID ("popup_remove");
|
||||
gtk_signal_connect (GTK_OBJECT (widget), "activate",
|
||||
GTK_SIGNAL_FUNC (screensaver_remove_cb),
|
||||
prefs_widget);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -502,7 +522,7 @@ set_random_timeout (PrefsWidget *prefs_widget, gboolean do_random)
|
|||
static const gchar *
|
||||
table_compute_state (SelectionMode mode)
|
||||
{
|
||||
if (mode == SM_ONE_SCREENSAVER_ONLY)
|
||||
if (mode != SM_CHOOSE_FROM_LIST)
|
||||
return "<ETableState><column source=\"1\"/><grouping></grouping></ETableState>";
|
||||
else return "<ETableState><column source=\"0\"/><column source=\"1\"/><grouping></grouping></ETableState>";
|
||||
}
|
||||
|
@ -945,3 +965,70 @@ pwr_state_changed_cb (GtkWidget *widget, PrefsWidget *prefs_widget)
|
|||
gnome_dialog_set_sensitive (GNOME_DIALOG (dlg), GNOME_OK, TRUE);
|
||||
state_changed_cb (widget, prefs_widget);
|
||||
}
|
||||
|
||||
static void
|
||||
screensaver_add_cb (GtkWidget *button, PrefsWidget *prefs_widget)
|
||||
{
|
||||
GtkWidget *dialog;
|
||||
|
||||
dialog = selection_dialog_new (prefs_widget);
|
||||
|
||||
gtk_signal_connect (GTK_OBJECT (dialog), "ok-clicked",
|
||||
GTK_SIGNAL_FUNC (add_select_cb), prefs_widget);
|
||||
}
|
||||
|
||||
static void
|
||||
screensaver_remove_cb (GtkWidget *button, PrefsWidget *prefs_widget)
|
||||
{
|
||||
Screensaver *rm;
|
||||
GList *l;
|
||||
gint row;
|
||||
|
||||
if (!prefs_widget->selected_saver) return;
|
||||
|
||||
rm = prefs_widget->selected_saver;
|
||||
|
||||
/* Find another screensaver to select */
|
||||
row = 0;
|
||||
for (l = prefs_widget->screensavers; l != NULL; l = l->next)
|
||||
{
|
||||
if (l->data == rm)
|
||||
break;
|
||||
row++;
|
||||
}
|
||||
|
||||
prefs_widget->screensavers =
|
||||
screensaver_remove (rm, prefs_widget->screensavers);
|
||||
screensaver_destroy (rm);
|
||||
|
||||
if (!prefs_widget->screensavers)
|
||||
prefs_widget->selected_saver = NULL;
|
||||
else
|
||||
{
|
||||
if (row < 0)
|
||||
row = 0;
|
||||
else
|
||||
row--;
|
||||
|
||||
e_selection_model_select_single_row (
|
||||
E_SELECTION_MODEL (E_TABLE (prefs_widget->priv->table)->selection), row);
|
||||
}
|
||||
|
||||
state_changed_cb (button, prefs_widget);
|
||||
}
|
||||
|
||||
static void
|
||||
add_select_cb (GtkWidget *widget, Screensaver *saver,
|
||||
PrefsWidget *prefs_widget)
|
||||
{
|
||||
gint row;
|
||||
|
||||
prefs_widget->screensavers =
|
||||
screensaver_add (saver, prefs_widget->screensavers);
|
||||
|
||||
row = g_list_length (prefs_widget->screensavers) - 1;
|
||||
e_selection_model_select_single_row (
|
||||
E_SELECTION_MODEL (E_TABLE (prefs_widget->priv->table)->selection), row);
|
||||
|
||||
settings_cb (widget, prefs_widget);
|
||||
}
|
||||
|
|
|
@ -285,7 +285,7 @@ screensaver_prefs_dialog_new (Screensaver *saver)
|
|||
xmlDocGetRootElement (dialog->argument_doc);
|
||||
}
|
||||
|
||||
if (dialog->cli_args_db && dialog->argument_data) {
|
||||
if (dialog->cli_args_db && dialog->argument_data && dialog->argument_data->childs && dialog->argument_data->childs->next) {
|
||||
settings_widget =
|
||||
get_screensaver_widget (dialog);
|
||||
} else {
|
||||
|
@ -1357,6 +1357,13 @@ get_basic_screensaver_widget (ScreensaverPrefsDialog *dialog)
|
|||
vbox = gtk_vbox_new (FALSE, 10);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 5);
|
||||
|
||||
label = gtk_label_new (_("There are no configurable settings for this screensaver."));
|
||||
|
||||
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 5);
|
||||
gtk_widget_show (label);
|
||||
|
||||
#if 0
|
||||
if (dialog->saver->name) {
|
||||
label = gtk_label_new
|
||||
(_("Cannot find the data to configure this " \
|
||||
|
@ -1412,6 +1419,7 @@ get_basic_screensaver_widget (ScreensaverPrefsDialog *dialog)
|
|||
|
||||
gtk_box_pack_start (GTK_BOX (vbox), dialog->visual_combo,
|
||||
TRUE, FALSE, 5);
|
||||
#endif
|
||||
return vbox;
|
||||
}
|
||||
|
||||
|
|
|
@ -549,18 +549,6 @@ screensaver. </label>
|
|||
<right_justify>False</right_justify>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkMenuItem</class>
|
||||
<name>popup_demo</name>
|
||||
<signal>
|
||||
<name>activate</name>
|
||||
<handler>on_demo1_activate</handler>
|
||||
<last_modification_time>Thu, 28 Jun 2001 16:18:44 GMT</last_modification_time>
|
||||
</signal>
|
||||
<label>_Demo</label>
|
||||
<right_justify>False</right_justify>
|
||||
</widget>
|
||||
|
||||
<widget>
|
||||
<class>GtkPixmapMenuItem</class>
|
||||
<name>popup_about</name>
|
||||
|
|
|
@ -19,7 +19,6 @@ gchar *s = N_("There are no configurable settings for this\n"
|
|||
gchar *s = N_("_Add");
|
||||
gchar *s = N_("_Settings");
|
||||
gchar *s = N_("_Remove");
|
||||
gchar *s = N_("_Demo");
|
||||
gchar *s = N_("_About this screensaver...");
|
||||
gchar *s = N_("window1");
|
||||
gchar *s = N_("minutes");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue