# # # patch "Common.pm" # from [4be075be01f981beabb7f5fc8639a1857806d682] # to [03d08998dd1349208b277c16355d2d5ab9dd5f25] # # patch "Preferences.pm" # from [62aa371bb3c929f7ddec596ecf1d0ccbd15c9198] # to [499a8f9813ceca365a122fb4b53dd603f9f76a23] # # patch "mtn-browse" # from [414504459ff48f2d5992df9bd4d164d8cb61fe1a] # to [4ca9e9de6f150b84a8404ffe0dc4c48e2f4ffefe] # # patch "mtn-browse.glade" # from [3aae1d88b0e9e1225c40bebd4a887aabd00d25fc] # to [393e92167fc51dff47ba78efad7ed3740246ad38] # ============================================================ --- Common.pm 4be075be01f981beabb7f5fc8639a1857806d682 +++ Common.pm 03d08998dd1349208b277c16355d2d5ab9dd5f25 @@ -945,7 +945,9 @@ sub handle_comboxentry_history($$;$) } if ($update_history) { - pop(@$history_ref) if (unshift(@$history_ref, $value) > 20); + splice(@$history_ref, $user_preferences->{history_size}) + if (unshift(@$history_ref, $value) > + $user_preferences->{history_size}); eval { save_preferences($user_preferences); ============================================================ --- Preferences.pm 62aa371bb3c929f7ddec596ecf1d0ccbd15c9198 +++ Preferences.pm 499a8f9813ceca365a122fb4b53dd603f9f76a23 @@ -60,7 +60,7 @@ use constant PREFERENCES_FILE_NAME => ". # Constant for the preferences file's format version. -use constant PREFERENCES_FORMAT_VERSION => 5; +use constant PREFERENCES_FORMAT_VERSION => 6; # Text viewable application mime types. @@ -436,9 +436,10 @@ sub defaults_button_clicked_cb($$) @fields = ("default_mtn_db", "workspace", "auto_select_head", + "query", + "history_size", "show_suspended", "show_file_details", - "query", "diffs_application"); } elsif ($page_nr == 1) @@ -1006,6 +1007,7 @@ sub get_preferences_window($$) "id_lists_limit_spinbutton", "id_lists_sort_cronologically_radiobutton", "id_lists_sort_by_id_radiobutton", + "history_size_spinbutton", "show_suspended_revisions_checkbutton", "detailed_file_listing_checkbutton", "external_diffs_app_entry", @@ -1226,6 +1228,8 @@ sub load_preferences_into_gui($) { $instance->{id_lists_sort_by_id_radiobutton}->set_active(TRUE); } + $instance->{history_size_spinbutton}-> + set_value($instance->{preferences}->{history_size}); $instance->{show_suspended_revisions_checkbutton}-> set_active($instance->{preferences}->{show_suspended} ? TRUE : FALSE); $instance->{detailed_file_listing_checkbutton}-> @@ -1389,6 +1393,8 @@ sub save_preferences_from_gui($) $instance->{preferences}->{query}->{id}->{sort_cronologically} = $instance->{id_lists_sort_cronologically_radiobutton}->get_active() ? 1 : 0; + $instance->{preferences}->{history_size} = + $instance->{history_size_spinbutton}->get_value_as_int(); $instance->{preferences}->{show_suspended} = $instance->{show_suspended_revisions_checkbutton}->get_active() ? 1 : 0; @@ -1550,6 +1556,11 @@ sub upgrade_preferences($) $preferences->{show_file_details} = 1; $preferences->{version} = 5; } + if ($preferences->{version} == 5) + { + $preferences->{history_size} = 20; + $preferences->{version} = 6; + } $preferences->{version} = PREFERENCES_FORMAT_VERSION; @@ -1587,11 +1598,12 @@ sub initialise_preferences() sort_cronologically => 1}, id => {limit => 200, sort_cronologically => 1}}, + history_size => 20, show_suspended => 0, show_file_details => 1, diffs_application => "kompare '{file1}' '{file2}'", + fixed_font => "monospace 10", coloured_diffs => 1, - fixed_font => "monospace 10", colours => {annotate_prefix_1 => {fg => "AliceBlue", bg => "CadetBlue"}, annotate_text_1 => {fg => "MidnightBlue", ============================================================ --- mtn-browse 414504459ff48f2d5992df9bd4d164d8cb61fe1a +++ mtn-browse 4ca9e9de6f150b84a8404ffe0dc4c48e2f4ffefe @@ -140,8 +140,8 @@ sub preferences_toolbutton_clicked_cb($$ sub new_toolbutton_clicked_cb($$); sub open_toolbutton_clicked_cb($$); sub preferences_toolbutton_clicked_cb($$); -sub properties_toolbutton_clicked_cb($$); sub quit_activate_cb($$); +sub reload_toolbutton_clicked_cb($$); sub revision_change_history_button_clicked_cb($$); sub revision_change_log_button_clicked_cb($$); sub save_as_button_clicked_cb($$); @@ -573,10 +573,10 @@ sub close_toolbutton_clicked_cb($$) # ############################################################################## # -# Routine - properties_toolbutton_clicked_cb +# Routine - reload_toolbutton_clicked_cb # # Description - Callback routine called when the user clicks on the -# properties toolbutton in a main browser window. +# reload toolbutton in a main browser window. # # Data - $widget : The widget object that received the signal. # $browser : The browser instance that is associated with @@ -586,7 +586,7 @@ sub close_toolbutton_clicked_cb($$) -sub properties_toolbutton_clicked_cb($$) +sub reload_toolbutton_clicked_cb($$) { my($widget, $browser) = @_; @@ -594,14 +594,29 @@ sub properties_toolbutton_clicked_cb($$) return if ($browser->{in_cb}); local $browser->{in_cb} = 1; - my $dialog = Gtk2::MessageDialog->new($browser->{window}, - ["modal"], - "info", - "close", - __("Not implemented.")); - $dialog->run(); - $dialog->destroy(); + # Simply refresh the entire browser. + if ($browser->{branch_combo_details}->{complete}) + { + $browser->{branch_combo_details}->{preset} = 1; + if ($browser->{revision_combo_details}->{complete}) + { + $browser->{revision_combo_details}->{preset} = 1; + if ($browser->{directory_combo_details}->{complete}) + { + $browser->{directory_combo_details}->{preset} = 1; + if (exists($browser->{file_being_viewed}->{manifest_entry})) + { + $browser->{file_being_viewed_preset_value} = + $browser->{file_being_viewed}->{short_name}; + } + } + } + } + $browser->{mtn}->closedown(); + $browser->{appbar}->clear_stack(); + &{$browser->{update_handler}}($browser, ALL_CHANGED); + } # ############################################################################## @@ -1499,7 +1514,7 @@ sub get_browser_window(;$$$$$) "file_revision_id_value_label", "file_button_vbox", "database_name_value_label", - "revision_id_value_label", + "date_value_label", "author_value_label", "change_log_value_label") { @@ -1968,10 +1983,10 @@ sub update_browser_state($$) } else { - $browser->{directory_combo_details}->{complete} = 0; + $browser->{directory_combo_details}->{complete} = 1; $browser->{directory_combo_details}->{value} = ""; } - set_label_value($browser->{revision_id_value_label}, ""); + set_label_value($browser->{date_value_label}, ""); set_label_value($browser->{author_value_label}, ""); set_label_value($browser->{change_log_value_label}, ""); @@ -2013,23 +2028,30 @@ sub update_browser_state($$) { my($author, @certs_list, - $change_log); + $change_log, + $date); $browser->{mtn}->get_manifest_of(address@hidden, $revision_ids[0]); $browser->{mtn}->certs(address@hidden, $revision_ids[0]); - $author = $change_log = ""; + $author = $change_log = $date = ""; foreach my $cert (@certs_list) { - $author = $cert->{value} - if ($cert->{name} eq "author"); - if ($cert->{name} eq "changelog") + if ($cert->{name} eq "author") { + $author = $cert->{value}; + } + elsif ($cert->{name} eq "changelog") + { $change_log = $cert->{value}; $change_log =~ s/\s+$//s; } + elsif ($cert->{name} eq "date") + { + $date = $cert->{value}; + $date =~ s/T/ /; + } } - set_label_value($browser->{revision_id_value_label}, - $revision_ids[0]); + set_label_value($browser->{date_value_label}, $date); set_label_value($browser->{author_value_label}, $author); set_label_value($browser->{change_log_value_label}, $change_log); @@ -2104,8 +2126,7 @@ sub update_browser_state($$) # enable the find files button. if ($browser->{revision_combo_details}->{complete} - && ($browser->{directory_combo_details}->{complete} - || $browser->{directory_combo_details}->{value} eq "")) + && $browser->{directory_combo_details}->{complete}) { get_dir_contents($browser->{directory_combo_details}->{value}, $browser->{manifest}, ============================================================ --- mtn-browse.glade 3aae1d88b0e9e1225c40bebd4a887aabd00d25fc +++ mtn-browse.glade 393e92167fc51dff47ba78efad7ed3740246ad38 @@ -265,12 +265,14 @@ True - Display current database properties - gtk-properties + Reload the current database + Reload + True + gtk-refresh True True False - + False @@ -1850,7 +1852,7 @@ into a viewer 5 - + True True GTK_POLICY_NEVER @@ -1859,7 +1861,7 @@ into a viewer GTK_CORNER_TOP_LEFT - + True 1 1 @@ -1867,7 +1869,7 @@ into a viewer 0 0 17 10 15.3 17 - + 0 0 True @@ -1875,7 +1877,7 @@ into a viewer False - + 0 0 True @@ -1972,16 +1974,16 @@ into a viewer - + True - Id of the currently selected revision + Date of the currently selected revision True False - + True - Revision id: + Date: False False GTK_JUSTIFY_LEFT @@ -2007,7 +2009,7 @@ into a viewer True - Change log's first line for the currently selected revision + Change log for the currently selected revision True False @@ -4828,14 +4830,14 @@ by their tags) - + True 0 0.5 GTK_SHADOW_ETCHED_IN - + True 0.5 0.5 @@ -4847,10 +4849,10 @@ by their tags) 0 - + 5 True - 2 + 3 4 False 5 @@ -4859,8 +4861,8 @@ by their tags) True - Parameters for controlling the listing -of tagged revisions in Combo lists + Settings for controlling the listing of +tagged revisions in ComboBox menus True False @@ -4963,8 +4965,8 @@ the most recent, 0 = unlimited) True - Parameters for controlling the listing -of revision ids in Combo lists + Settings for controlling the listing of +revision ids in ComboBox menus True False @@ -5157,15 +5159,105 @@ the tags to be order aphabetically + + + + True + The maximum number of +items to store in histories + True + False + + + + True + Limit to: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + + + 1 + 2 + 2 + 3 + fill + fill + + + + + + True + Setting for controlling the amount of +history stored in ComboBox menus + True + False + + + + True + History size: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + + + 0 + 1 + 2 + 3 + fill + fill + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 20 0 100 1 10 10 + + + 2 + 3 + 2 + 3 + fill + + + - + True - <b>Query Options</b> + <b>ComboBox Settings</b> False True GTK_JUSTIFY_LEFT @@ -5341,7 +5433,7 @@ 3) The file referred to by the token the files' full path names 3) The file referred to by the token -{file1} will be the older version than +{file1} will be an older version than that referred to by {file2} True False