commit 1147f546c93f44f93126813b5db53e090ed8c8ce Author: Omari Stephens Date: Sat Nov 21 06:41:56 2009 +0000 Add numeric acccelerators and increase max rating to 10 diff --git a/trunk/src/bar_rating.c b/trunk/src/bar_rating.c index e6ac672..80b972c 100644 --- a/trunk/src/bar_rating.c +++ b/trunk/src/bar_rating.c @@ -196,13 +196,8 @@ static void bar_pane_rating_inc_value_cb(GtkButton *button, gpointer data) void bar_pane_rating_inc_value(gpointer data) { PaneRatingData *prd = data; - gtk_spin_button_spin(prd->spinbutton, GTK_SPIN_STEP_FORWARD, 1.0); - - if(gtk_toggle_button_get_active(prd->auto_adv)) - { - layout_image_next(NULL); - } + if(gtk_toggle_button_get_active(prd->auto_adv)) layout_image_next(NULL); } static void bar_pane_rating_dec_value_cb(GtkButton *button, gpointer data) @@ -213,13 +208,15 @@ static void bar_pane_rating_dec_value_cb(GtkButton *button, gpointer data) void bar_pane_rating_dec_value(gpointer data) { PaneRatingData *prd = data; - gtk_spin_button_spin(prd->spinbutton, GTK_SPIN_STEP_BACKWARD, 1.0); + if(gtk_toggle_button_get_active(prd->auto_adv)) layout_image_next(NULL); +} - if(gtk_toggle_button_get_active(prd->auto_adv)) - { - layout_image_next(NULL); - } +void bar_pane_rating_set_value(gint value, gpointer data) +{ + PaneRatingData *prd = data; + gtk_spin_button_set_value(prd->spinbutton, value); + if(gtk_toggle_button_get_active(prd->auto_adv)) layout_image_next(NULL); } @@ -313,7 +310,7 @@ static GtkWidget *bar_pane_rating_new(const gchar *id, const gchar *title, const // SPIN BUTTON - prd->spinbutton = (GtkSpinButton*) gtk_spin_button_new_with_range(0.0, 5.0, 1.0); + prd->spinbutton = (GtkSpinButton*) gtk_spin_button_new_with_range(0.0, 10.0, 1.0); gtk_spin_button_set_numeric(prd->spinbutton, TRUE); gtk_spin_button_set_snap_to_ticks(prd->spinbutton, TRUE); diff --git a/trunk/src/bar_rating.h b/trunk/src/bar_rating.h index 03ac1e4..7453a4c 100644 --- a/trunk/src/bar_rating.h +++ b/trunk/src/bar_rating.h @@ -20,6 +20,7 @@ void bar_pane_rating_update_from_config(GtkWidget *pane, const gchar **attribute const gchar **attribute_values); void bar_pane_rating_inc_value(gpointer data); void bar_pane_rating_dec_value(gpointer data); +void bar_pane_rating_set_value(gint value, gpointer data); #endif diff --git a/trunk/src/layout_util.c b/trunk/src/layout_util.c index 752ec67..fa09e4f 100644 --- a/trunk/src/layout_util.c +++ b/trunk/src/layout_util.c @@ -770,6 +770,17 @@ static void layout_menu_bar_rating_cb(GtkAction *action, gpointer data) action_name = gtk_action_get_name(action); if(!g_strcmp0(action_name, "IncRating")) bar_pane_rating_inc_value(prd); else if(!g_strcmp0(action_name, "DecRating")) bar_pane_rating_dec_value(prd); + else if(!g_strcmp0(action_name, "Rating0")) bar_pane_rating_set_value(0, prd); + else if(!g_strcmp0(action_name, "Rating1")) bar_pane_rating_set_value(1, prd); + else if(!g_strcmp0(action_name, "Rating2")) bar_pane_rating_set_value(2, prd); + else if(!g_strcmp0(action_name, "Rating3")) bar_pane_rating_set_value(3, prd); + else if(!g_strcmp0(action_name, "Rating4")) bar_pane_rating_set_value(4, prd); + else if(!g_strcmp0(action_name, "Rating5")) bar_pane_rating_set_value(5, prd); + else if(!g_strcmp0(action_name, "Rating6")) bar_pane_rating_set_value(6, prd); + else if(!g_strcmp0(action_name, "Rating7")) bar_pane_rating_set_value(7, prd); + else if(!g_strcmp0(action_name, "Rating8")) bar_pane_rating_set_value(8, prd); + else if(!g_strcmp0(action_name, "Rating9")) bar_pane_rating_set_value(9, prd); + else if(!g_strcmp0(action_name, "Rating10")) bar_pane_rating_set_value(10, prd); } static void layout_menu_float_cb(GtkToggleAction *action, gpointer data) @@ -1259,6 +1270,7 @@ static GtkActionEntry menu_entries[] = { { "SelectMenu", NULL, N_("_Select"), NULL, NULL, NULL }, { "OrientationMenu", NULL, N_("_Orientation"), NULL, NULL, NULL }, { "MetadataMenu", NULL, N_("_Metadata"), NULL, NULL, NULL }, + { "MetadataRateMenu", NULL, N_("_Set Rating"), NULL, NULL, NULL }, { "ExternalMenu", NULL, N_("E_xternal Editors"), NULL, NULL, NULL }, { "PreferencesMenu", NULL, N_("P_references"), NULL, NULL, NULL }, { "ViewMenu", NULL, N_("_View"), NULL, NULL, NULL }, @@ -1316,8 +1328,19 @@ static GtkActionEntry menu_entries[] = { { "Maintenance", NULL, N_("_Thumbnail maintenance..."), NULL, N_("Thumbnail maintenance..."), CB(layout_menu_remove_thumb_cb) }, { "Wallpaper", NULL, N_("Set as _wallpaper"), NULL, N_("Set as wallpaper"), CB(layout_menu_wallpaper_cb) }, { "SaveMetadata", GTK_STOCK_SAVE, N_("_Save metadata"), "S", N_("Save metadata"), CB(layout_menu_metadata_write_cb) }, - { "IncRating", NULL, N_("Increment Rating"), NULL, N_("Increment image rating"), CB(layout_menu_bar_rating_cb) }, - { "DecRating", NULL, N_("Decrement Rating"), NULL, N_("Decrement image rating"), CB(layout_menu_bar_rating_cb) }, + { "IncRating", NULL, N_("_Increment Rating"), "KP_Add", N_("Increment image rating"), CB(layout_menu_bar_rating_cb) }, + { "DecRating", NULL, N_("_Decrement Rating"), "KP_Subtract", N_("Decrement image rating"), CB(layout_menu_bar_rating_cb) }, + { "Rating0", NULL, N_("Rate _0"), "KP_0", N_("Set image rating to 0"), CB(layout_menu_bar_rating_cb) }, + { "Rating1", NULL, N_("Rate _1"), "KP_1", N_("Set image rating to 1"), CB(layout_menu_bar_rating_cb) }, + { "Rating2", NULL, N_("Rate _2"), "KP_2", N_("Set image rating to 2"), CB(layout_menu_bar_rating_cb) }, + { "Rating3", NULL, N_("Rate _3"), "KP_3", N_("Set image rating to 3"), CB(layout_menu_bar_rating_cb) }, + { "Rating4", NULL, N_("Rate _4"), "KP_4", N_("Set image rating to 4"), CB(layout_menu_bar_rating_cb) }, + { "Rating5", NULL, N_("Rate _5"), "KP_5", N_("Set image rating to 5"), CB(layout_menu_bar_rating_cb) }, + { "Rating6", NULL, N_("Rate _6"), "KP_6", N_("Set image rating to 6"), CB(layout_menu_bar_rating_cb) }, + { "Rating7", NULL, N_("Rate _7"), "KP_7", N_("Set image rating to 7"), CB(layout_menu_bar_rating_cb) }, + { "Rating8", NULL, N_("Rate _8"), "KP_8", N_("Set image rating to 8"), CB(layout_menu_bar_rating_cb) }, + { "Rating9", NULL, N_("Rate _9"), "KP_9", N_("Set image rating to 9"), CB(layout_menu_bar_rating_cb) }, + { "Rating10", NULL, N_("Rate _10"), "KP_Decimal", N_("Set image rating to 10"), CB(layout_menu_bar_rating_cb) }, { "ZoomIn", GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "equal", N_("Zoom in"), CB(layout_menu_zoom_in_cb) }, { "ZoomInAlt1", GTK_STOCK_ZOOM_IN, N_("Zoom _in"), "KP_Add", N_("Zoom in"), CB(layout_menu_zoom_in_cb) }, { "ZoomOut", GTK_STOCK_ZOOM_OUT, N_("Zoom _out"), "minus", N_("Zoom out"), CB(layout_menu_zoom_out_cb) }, @@ -1498,6 +1521,19 @@ static const gchar *menu_ui_description = " " " " " " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " " " " " " "