*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
*/
#ifdef HAVE_CONFIG_H
#include "gtk/menu.h"
#include "manage_window.h"
+#include "combobox.h"
typedef struct _ReceivePage
{
GtkWidget *checkbtn_chkonstartup;
GtkWidget *checkbtn_openinbox;
GtkWidget *checkbtn_scan_after_inc;
+#ifndef MAEMO
GtkWidget *checkbtn_newmail_auto;
GtkWidget *checkbtn_newmail_manu;
GtkWidget *entry_newmail_notify_cmd;
+ GtkWidget *hbox_newmail_notify;
+#else
+ GtkWidget *checkbtn_maemo_show_led;
+ GtkWidget *checkbtn_maemo_play_sound;
+ GtkWidget *checkbtn_maemo_show_banner;
+#endif
GtkWidget *optmenu_recvdialog;
GtkWidget *checkbtn_no_recv_err_panel;
GtkWidget *checkbtn_close_recv_dialog;
- GtkWidget *hbox_newmail_notify;
} ReceivePage;
ReceivePage *prefs_receive;
+#ifndef MAEMO
static void prefs_common_recv_dialog_newmail_notify_toggle_cb(GtkWidget *w, gpointer data)
{
gboolean toggled;
(GTK_TOGGLE_BUTTON(prefs_receive->checkbtn_newmail_auto));
gtk_widget_set_sensitive(prefs_receive->hbox_newmail_notify, toggled);
}
+#endif
static void prefs_receive_create_widget(PrefsPage *_page, GtkWindow *window,
GtkWidget *vbox1;
GtkWidget *vbox2;
- GtkWidget *vbox3;
GtkWidget *checkbtn_incext;
GtkWidget *hbox;
GtkWidget *label_incext;
GtkWidget *checkbtn_scan_after_inc;
GtkWidget *frame;
+#ifndef MAEMO
+ GtkWidget *vbox3;
GtkWidget *hbox_newmail_notify;
GtkWidget *checkbtn_newmail_auto;
GtkWidget *checkbtn_newmail_manu;
GtkWidget *entry_newmail_notify_cmd;
GtkWidget *label_newmail_notify_cmd;
+#else
+ GtkWidget *checkbtn_maemo_show_led;
+ GtkWidget *checkbtn_maemo_play_sound;
+ GtkWidget *checkbtn_maemo_show_banner;
+#endif
GtkWidget *label_recvdialog;
- GtkWidget *menu;
- GtkWidget *menuitem;
+ GtkListStore *menu;
+ GtkTreeIter iter;
GtkWidget *optmenu_recvdialog;
GtkWidget *checkbtn_no_recv_err_panel;
GtkWidget *checkbtn_close_recv_dialog;
gtk_misc_set_alignment(GTK_MISC(label_recvdialog), 0, 0.5);
gtk_widget_show (label_recvdialog);
- optmenu_recvdialog = gtk_option_menu_new ();
+ optmenu_recvdialog = gtkut_sc_combobox_create(NULL, FALSE);
gtk_widget_show (optmenu_recvdialog);
- menu = gtk_menu_new ();
- MENUITEM_ADD (menu, menuitem, _("Always"), RECV_DIALOG_ALWAYS);
- MENUITEM_ADD (menu, menuitem, _("Only on manual receiving"),
- RECV_DIALOG_MANUAL);
- MENUITEM_ADD (menu, menuitem, _("Never"), RECV_DIALOG_NEVER);
-
- gtk_option_menu_set_menu (GTK_OPTION_MENU (optmenu_recvdialog), menu);
+ menu = GTK_LIST_STORE(gtk_combo_box_get_model(
+ GTK_COMBO_BOX(optmenu_recvdialog)));
+ COMBOBOX_ADD (menu, _("Always"), RECV_DIALOG_ALWAYS);
+ COMBOBOX_ADD (menu, _("Only on manual receiving"), RECV_DIALOG_MANUAL);
+ COMBOBOX_ADD (menu, _("Never"), RECV_DIALOG_NEVER);
hbox = gtk_hbox_new(FALSE, 20);
gtk_widget_show(hbox);
PACK_CHECK_BUTTON (vbox2, checkbtn_no_recv_err_panel,
_("Don't popup error dialog on receive error"));
- vbox2 = gtkut_get_options_frame(vbox1, &frame, _("After receiving new mail"));
+ vbox2 = gtkut_get_options_frame(vbox1, &frame,
+ _("After checking for new mail"));
- PACK_CHECK_BUTTON (vbox2, checkbtn_openinbox, _("Go to inbox"));
+ PACK_CHECK_BUTTON (vbox2, checkbtn_openinbox, _("Go to Inbox"));
PACK_CHECK_BUTTON (vbox2, checkbtn_scan_after_inc,
_("Update all local folders"));
-
+
+#ifndef MAEMO
vbox3 = gtkut_get_options_frame(vbox2, &frame, _("Run command"));
hbox = gtk_hbox_new (TRUE, 8);
prefs_common.newmail_notify_auto ||
prefs_common.newmail_notify_manu);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_newmail_auto),
+ prefs_common.newmail_notify_auto);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_newmail_manu),
+ prefs_common.newmail_notify_manu);
+ gtk_entry_set_text(GTK_ENTRY(entry_newmail_notify_cmd),
+ prefs_common.newmail_notify_cmd);
+#else
+ PACK_CHECK_BUTTON (vbox2, checkbtn_maemo_show_led, _("Blink LED"));
+ PACK_CHECK_BUTTON (vbox2, checkbtn_maemo_play_sound, _("Play sound"));
+ PACK_CHECK_BUTTON (vbox2, checkbtn_maemo_show_banner,
+ _("Show info banner"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_maemo_show_led),
+ prefs_common.maemo_show_led);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_maemo_play_sound),
+ prefs_common.maemo_play_sound);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_maemo_show_banner),
+ prefs_common.maemo_show_banner);
+
+#endif
+
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_autochk),
+ prefs_common.autochk_newmail);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_incext),
prefs_common.use_extinc);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_no_recv_err_panel),
prefs_common.open_inbox_on_inc);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_scan_after_inc),
prefs_common.scan_all_after_inc);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_newmail_auto),
- prefs_common.newmail_notify_auto);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_newmail_manu),
- prefs_common.newmail_notify_manu);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_autochk),
- prefs_common.autochk_newmail);
gtk_entry_set_text(GTK_ENTRY(entry_incext),
prefs_common.extinc_cmd);
- gtk_entry_set_text(GTK_ENTRY(entry_newmail_notify_cmd),
- prefs_common.newmail_notify_cmd);
gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_autochk),
prefs_common.autochk_itv);
- gtk_option_menu_set_history(GTK_OPTION_MENU(optmenu_recvdialog),
+ combobox_select_by_data(GTK_COMBO_BOX(optmenu_recvdialog),
prefs_common.recv_dialog_mode);
prefs_receive->window = GTK_WIDGET(window);
prefs_receive->checkbtn_chkonstartup = checkbtn_chkonstartup;
prefs_receive->checkbtn_openinbox = checkbtn_openinbox;
prefs_receive->checkbtn_scan_after_inc = checkbtn_scan_after_inc;
+
+#ifndef MAEMO
prefs_receive->checkbtn_newmail_auto = checkbtn_newmail_auto;
prefs_receive->checkbtn_newmail_manu = checkbtn_newmail_manu;
prefs_receive->entry_newmail_notify_cmd = entry_newmail_notify_cmd;
+ prefs_receive->hbox_newmail_notify = hbox_newmail_notify;
+#else
+ prefs_receive->checkbtn_maemo_show_led = checkbtn_maemo_show_led;
+ prefs_receive->checkbtn_maemo_play_sound = checkbtn_maemo_play_sound;
+ prefs_receive->checkbtn_maemo_show_banner = checkbtn_maemo_show_banner;
+#endif
+
prefs_receive->optmenu_recvdialog = optmenu_recvdialog;
prefs_receive->checkbtn_no_recv_err_panel = checkbtn_no_recv_err_panel;
prefs_receive->checkbtn_close_recv_dialog = checkbtn_close_recv_dialog;
- prefs_receive->hbox_newmail_notify = hbox_newmail_notify;
prefs_receive->page.widget = vbox1;
+#ifndef MAEMO
g_signal_connect(G_OBJECT(checkbtn_newmail_auto), "toggled",
G_CALLBACK(prefs_common_recv_dialog_newmail_notify_toggle_cb),
NULL);
g_signal_connect(G_OBJECT(checkbtn_newmail_manu), "toggled",
G_CALLBACK(prefs_common_recv_dialog_newmail_notify_toggle_cb),
NULL);
-
+#endif
}
static void prefs_receive_save(PrefsPage *_page)
{
ReceivePage *page = (ReceivePage *) _page;
gchar *tmp;
- GtkWidget *menu;
- GtkWidget *menuitem;
prefs_common.use_extinc = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_incext));
GTK_TOGGLE_BUTTON(page->checkbtn_openinbox));
prefs_common.scan_all_after_inc = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_scan_after_inc));
+
+#ifndef MAEMO
prefs_common.newmail_notify_auto = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_newmail_auto));
prefs_common.newmail_notify_manu = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_newmail_manu));
+#else
+ prefs_common.maemo_show_led = TRUE;
+ if (!gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(page->checkbtn_maemo_show_led))) {
+ mainwindow_maemo_led_set(FALSE);
+ prefs_common.maemo_show_led = FALSE;
+ }
+ prefs_common.maemo_play_sound = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(page->checkbtn_maemo_play_sound));
+ prefs_common.maemo_show_banner = gtk_toggle_button_get_active(
+ GTK_TOGGLE_BUTTON(page->checkbtn_maemo_show_banner));
+#endif
prefs_common.autochk_newmail = gtk_toggle_button_get_active(
GTK_TOGGLE_BUTTON(page->checkbtn_autochk));
prefs_common.autochk_itv = gtk_spin_button_get_value_as_int(
g_free(prefs_common.extinc_cmd);
prefs_common.extinc_cmd = tmp;
+#ifndef MAEMO
tmp = gtk_editable_get_chars(GTK_EDITABLE(page->entry_newmail_notify_cmd), 0, -1);
g_free(prefs_common.newmail_notify_cmd);
prefs_common.newmail_notify_cmd = tmp;
+#endif
- menu = gtk_option_menu_get_menu(GTK_OPTION_MENU(page->optmenu_recvdialog));
- menuitem = gtk_menu_get_active(GTK_MENU(menu));
- prefs_common.recv_dialog_mode = GPOINTER_TO_INT
- (g_object_get_data(G_OBJECT(menuitem), MENU_VAL_ID));
+ prefs_common.recv_dialog_mode =
+ combobox_get_active_data(GTK_COMBO_BOX(page->optmenu_recvdialog));
+
inc_autocheck_timer_remove();
inc_autocheck_timer_set();