1. 17 May, 2004 9 commits
    • Daniel Elstner's avatar
      Remove config.rpath because automake distributes this file automatically. · f8acb853
      Daniel Elstner authored
      * Makefile.am (dist_noinst_SCRIPTS): Remove config.rpath because
      automake distributes this file automatically.  List intltool-*.in
      files in the separate variable dist_intltool.
      (dist_noinst_DATA): List all *.m4 files in the separate variable
      dist_macros.  Move $(dist_intltool) from dist_noinst_SCRIPTS here
      because the .in files aren't scripts.
      f8acb853
    • Daniel Elstner's avatar
      Use _Name to make it translatable, and change the string to "regexxer · e5028e3b
      Daniel Elstner authored
      * regexxer.desktop (Name): Use _Name to make it translatable, and
      change the string to "regexxer Search Tool".  Idea from Dag Wieers.
      e5028e3b
    • Daniel Elstner's avatar
      Mark all const_cast<> work-arounds for the Gtk::TextIter API bug with // · 2c7cfd85
      Daniel Elstner authored
      * src/filebuffer.cc: Mark all const_cast<> work-arounds for the
      Gtk::TextIter API bug with // XXX comments.
      (FileBuffer::get_match_index): Get rid of libstdc++-v2 work-around.
      
      * src/filebuffer.h (FileBuffer): Get rid of the friend declarations
      that were added to work around a GCC 2.95 deficiency.
      * src/filetree.h (FileTree): ditto
      * src/mainwindow.h (MainWindow): ditto.
      2c7cfd85
    • Daniel Elstner's avatar
      Simplify. Since regexxer.schemas is now a generated file it is always · ee38f241
      Daniel Elstner authored
      * Makefile.am (install-schemas): Simplify.  Since regexxer.schemas
      is now a generated file it is always placed in the build directory.
      (uninstall-schemas): Likewise.  Also add $(schemas_DATA) to the
      prerequisites so that the rule will work with a clean tree.  Having
      make uninstall generate files is a little awkward, but I cannot see
      a way around that :/
      ee38f241
    • Daniel Elstner's avatar
      List build-time generated files $(desktop_DATA) and $(schemas_DATA). · 4506fc1d
      Daniel Elstner authored
      * Makefile.am (CLEANFILES): List build-time generated files
      $(desktop_DATA) and $(schemas_DATA).
      (DISTCLEANFILES): List configure-time generated files
      intltool-extract, intltool-merge and intltool-update.
      4506fc1d
    • Daniel Elstner's avatar
      Execute glib-gettextize and intltoolize. · 4be333e4
      Daniel Elstner authored
      * autogen.sh: Execute glib-gettextize and intltoolize.
      
      * configure.ac: Call AC_PROG_INTLTOOL().  Assign ALL_LINGUAS and
      GETTEXT_PACKAGE, and do an AC_SUBST() of the latter.
      (AM_GNU_GETTEXT): Use AM_GLIB_GNU_GETTEXT() instead.
      
      * Makefile.am (dist_desktop_DATA): Remove the dist_ prefix,
      introduce desktop_in_files, and add the @INTLTOOL_DESKTOP_RULE@
      substitution in order to make regexxer intltool-aware.
      (dist_schema_DATA): Likewise for the GConf schemas file.
      (dist_noinst_SCRIPTS): Add intltool-extract.in, intltool-merge.in
      and intltool-update.in.
      
      * regexxer.desktop: Rename to regexxer.desktop.in, use _Comment
      instead of Comment, and remove the manually inserted de and dk
      translations.
      
      * regexxer.schemas: Rename to regexxer.schemas.in.
      4be333e4
    • Daniel Elstner's avatar
      Use libstdc++-v3 method std::string::compare() instead of memcmp() for · b696e895
      Daniel Elstner authored
      * src/filetreeprivate.cc (collatekey_sort_func): Use libstdc++-v3
      method std::string::compare() instead of memcmp() for sub-string
      comparison, since libsigc++2 depends on gcc >= 3 anyway.
      b696e895
    • Daniel Elstner's avatar
      :FileTree): Make the file column take up available space with · 2a537cbb
      Daniel Elstner authored
      * src/filetree.cc (FileTree::FileTree): Make the file column
      take up available space with set_expand(true).
      2a537cbb
    • Daniel Elstner's avatar
      Bump version to 0.8. (PKG_CHECK_MODULES): Require gconfmm-2.6 >= 2.6.1. · c43b74d7
      Daniel Elstner authored
      * configure.ac (AC_INIT): Bump version to 0.8.
      (PKG_CHECK_MODULES): Require gconfmm-2.6 >= 2.6.1.
      (REGEXXER_GCONFMM_VALUE_HACK): Remove.
      
      * src/miscutils.{cc,h}
      (check_for_broken_gconfmm_value_changed): Remove.
      (has_broken_gconfmm_value_changed): Remove.
      
      * src/main.cc (main): Remove call to gconfmm bug runtime test.
      
      * src/filebuffer.cc (on_config_value_changed): Remove hack.
      * src/filetree.cc (on_config_value_changed): ditto
      * src/mainwindow.cc (on_config_value_changed): ditto.
      * src/prefdialog.{cc,h} (on_config_value_changed_hack): Remove.
      c43b74d7
  2. 16 May, 2004 2 commits
    • Daniel Elstner's avatar
      Use Gtk::FileChooserDialog instead of the old Gtk::FileSelection. · ccde4929
      Daniel Elstner authored
      * src/mainwindow.cc (on_select_folder): Use Gtk::FileChooserDialog
      instead of the old Gtk::FileSelection.
      ccde4929
    • Daniel Elstner's avatar
      Removes the <requires lib="gnome"/> line that was inserted by buggy · 797604cf
      Daniel Elstner authored
      2004-05-16  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ui/prefdialog.glade: Removes the <requires lib="gnome"/> line
      	that was inserted by buggy glade-2.
      
      2004-05-14  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/filetree.cc: Replace instances of `...' in message strings
      	with "...".  Since the translator is supposed to use double-quotes
      	it would be confusing to use single quotes in the original string.
      	* src/mainwindow.cc: ditto
      	* src/prefdialog.cc: ditto.
      
      2004-05-14  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ui/mainwindow.glade (button_find_files): Use a custom image and
      	label instead of a stock item as button content, so that it can be
      	more clearly distinguished from button_find_matches.
      
      2004-05-13  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ui/mainwindow.glade: Reintroduce tearoff menu items by manually
      	inserting the necessary XML elements.
      
      2004-05-12  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/fileio.cc: Remove the libgnome-vfsmm code already enclosed
      	by #if 0 ... #endif.  It's all in the CVS history anyway.
      	* src/filetree.cc: ditto.
      
      2004-05-12  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/imagebutton.{cc,h}: Remove files as they're no longer used.
      	* src/Makefile.am (regexxer_SOURCES): Remove imagebutton.{cc,h}.
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/globalstrings.h (glade_mainwindow_filename): New string.
      
      	* src/mainwindow.{cc,h}: Use libglademm to load the UI at runtime,
      	and make the actual Gtk::Window a member of class MainWindow.
      	Remove the old UI creation code.
      
      	* src/controller.{cc,h} (Controller::load_xml): The menu bar,
      	toolbar and action area is now contained in mainwindow.glade,
      	and thus this new method wholly replaces the old code which
      	generated those widgets.
      	(ControlItem::add_widgets): New helper method intented to help
      	reducing the code size.
      
      	* src/filetree.cc (regexxer_create_file_tree): New function.
      	* src/statusline.cc (regexxer_create_status_line): New function.
      
      	* src/main.cc (main): Access the Gtk::Window by using the new
      	accessor method Regexxer::MainWindow::get_window().
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ui/mainwindow.glade: New file defining the main window's UI.
      	* ui/Makefile.am (dist_glade_DATA): Add mainwindow.glade.
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/globalstrings.h (glade_aboutdialog_filename): New string.
      
      	* src/aboutdialog.{cc,h}: Use libglademm to load the dialog UI
      	at runtime, and replace class AboutDialog by a single create()
      	function in namespace Regexxer::AboutDialog.  Remove the old
      	UI creation code.
      
      	* src/mainwindow.{cc,h} (MainWindow::about_dialog_): Change type
      	to std::auto_ptr<Gtk::Dialog> since AboutDialog no longer exists.
      	Replace all references to AboutDialog in the implementation too.
      	(MainWindow::on_about): Make use of the new AboutDialog::create().
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ui/aboutdialog.glade: New file defining the UI of the about
      	dialog.
      	* ui/Makefile.am (dist_glade_DATA): Add aboutdialog.glade.
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/prefdialog.cc (PrefDialog::load_xml): Remove superfluous
      	sub-block.
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/prefdialog.cc (regexxer_create_font_selection_button):
      	Add missing parameters to the function signature.
      	(regexxer_create_color_selection_button): ditto.
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/Makefile.am (global_defines): Define REGEXXER_PKGDATADIR.
      
      	* src/globalstrings.h (glade_prefdialog_filename): New string.
      
      	* src/prefdialog.{cc,h}: Use libglademm to load the dialog UI
      	at runtime, and make the actual dialog widget a data member of
      	class PrefDialog.  Remove the old UI creation code.
      
      	* src/mainwindow.cc (MainWindow::on_preferences): Use the new
      	PrefDialog::get_dialog() accessor to get the actual widget.
      
      2004-05-10  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ui: New directory for glade XML files.
      	* ui/.cvsignore: New file.
      	* ui/Makefile.am: New file.
      	* ui/prefdialog.glade: New file defining the UI of the preferences
      	dialog.
      
      	* configure.ac (PKG_CHECK_MODULES): Check for libglademm-2.0.
      	(AC_CONFIG_FILES): Add ui/Makefile.
      
      	* Makefile.am (SUBDIRS): Add ui.
      
      0.7:
      
      2004-05-08  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* AUTHORS: Add Murray Cumming.
      	* NEWS: Update.
      
      2004-05-08  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/translation.{cc,h} (sgettext): Ditch the sgettext() approach,
      	because it's not likely to be supported by libglade when regexxer
      	starts using that at some point.  Until now there are no ambiguous
      	messages in regexxer, and we can switch back when the need arises.
      
      	* src/controller.cc: Remove the disambiguing "...|" prefix from all
      	translatable messages.
      	* src/filebuffer.cc: ditto
      	* src/filetree.cc: ditto
      	* src/mainwindow.cc: ditto
      	* src/prefdialog.cc: ditto
      	* src/statusline.cc: ditto.
      
      2004-05-07  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/main.cc (stock_icon_info): Rename to 'stock_icon_about',
      	as it should have been called in the first place.  Apparently
      	I misinterpreted a change in the German GNOME translation as
      	project-wide switch to a new name for "About".  Now I realize
      	why Murray changed that string a while ago...
      
      	* src/controller.{cc,h} (Controller::info): Rename to 'about'.
      	* src/mainwindow.{cc,h} (MainWindow::on_info): Rename to 'on_about'.
      
      2004-05-06  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/translation.cc (compose_impl): Simplify the loop in order to
      	avoid the need for look-ahead via Util::next().
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/translation.cc (compose_impl): Apparently there's no need
      	to use Glib::Unicode::isdigit() since digit_value() is defined to
      	return -1 for non-digits anyway.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/translation.{cc,h} (compose): Add a set of overloaded utility
      	functions to be used to compose a text message from a format string
      	and up to three string arguments.  This allows the translator to
      	arrange the arguments as required by the language.
      
      	* src/filetree.cc (FileTree::save_file_at_iter): Make use of
      	Util::compose() instead of separately piecing strings together.
      	Also, translate the format string via gettext().
      	(load_file_with_fallback): ditto
      	* src/mainwindow.cc (MainWindow::on_exec_search): ditto
      	* src/prefdialog.cc (PrefDialog::on_entry_fallback_activate):
      	ditto.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/miscutils.cc: Compile the runtime check for that gconfmm
      	bug only if REGEXXER_ENABLE_GCONFMM_VALUE_HACK is defined, as it
      	currently always is.
      
      	* src/main.cc (main): Test for REGEXXER_ENABLE_GCONFMM_VALUE_HACK
      	around the call to Util::check_for_broken_gconfmm_value_changed().
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/translation.{cc,h} (initialize_gettext): New utility
      	function to take care of setting up the text domain.
      
      	* src/main.cc (main): Use initialize_gettext().
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* ABOUT-NLS: Add missing file to fix the build.
      
      	* src/aboutdialog.cc: Translate all user-visible strings except
      	for those instances where positional parameter substitution is
      	required for proper results.  I'll deal with those ones later.
      	* src/controller.cc: ditto
      	* src/filebuffer.cc: ditto
      	* src/filetree.cc: ditto
      	* src/main.cc: ditto
      	* src/mainwindow.cc: ditto
      	* src/pcreshell.cc: ditto
      	* src/prefdialog.cc: ditto
      	* src/statusline.cc: ditto.
      
      	* src/translation.h (N_): #define to gettext_noop(s) rather than
      	simply (s).  This doesn't actually make a difference but I think
      	the intent is clearer that way.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	Add support for message translation via gettext.
      
      	* po: New directory, containing all the gettext stuff.
      	* config.rpath: New file added by gettextize.
      	* mkinstalldirs: ditto.
      
      	* Makefile.am (dist_noinst_SCRIPTS): Add config.rpath.
      
      	* autogen.sh: Don't remove mkinstalldirs because it's not
      	installed by automake --add-missing, and gettext uses it.
      	(WARNINGS): Comment-out in order to reduce the flood of warnings
      	triggered by all the old m4 code in system macros.
      
      	* configure.ac: Invoke AM_GNU_GETTEXT().
      	(AC_CONFIG_FILES): Add po/Makefile.in.
      
      	* NEWS: Update.
      
      	* src/translation.{cc,h}: New files implementing gettext() support.
      	* src/statusline.cc: Translate the label of the "Stop" button.
      	* src/main.cc (main): Add code to initialize the text domain.
      
      	* src/Makefile.am (regexxer_SOURCES): Add translation.{cc,h}.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/miscutils.{cc,h} (check_for_broken_gconfmm_value_changed):
      	Implement a truly evil run-time check for that gconfmm bug.
      	Although this one is already fixed in CVS, there's no release out
      	yet and for now I wouldn't like regexxer to depend on it anyway.
      	(has_broken_gconfmm_value_changed): Provide an accessor function
      	to the global flag indicating whether gconfmm is broken.
      
      	* src/main.cc (main): Call check_for_broken_gconfmm_value_changed().
      
      	* configure.ac (REGEXXER_GCONFMM_VALUE_HACK): Make this macro
      	call has_broken_gconfmm_value_changed() to determine whether the
      	work-around has to be applied.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/filebuffer.cc (FileBuffer::replace_match): Invoke on_insert()
      	directly in case of empty-by-empty replace in order to avoid this
      	nasty special-case where a FileBufferActionRemoveMatch object in
      	the stack is not followed by either an insert or an erase action.
      	This finally fixes the last one of undo system bugs known to me.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* configure.ac (AC_INIT): Bump version number to 0.7.
      
      2004-05-05  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* src/*.{cc,h}: Apply a minor change of my coding style.  From
      	now on, I put a space between a keyword and the following opening
      	parenthesis.  That is, after for, while, if, switch and catch, with
      	sizeof being the only (I think rather intuitive) exception.
      
      	* src/globalstrings.h: New file containing (you guess it) global
      	string definitions.  Currently these are mostly fully qualified
      	GConf key names.
      
      	* src/configdata.{cc,h}: Delete, as we're now using GConf.
      
      	* src/Makefile.am (regexxer_SOURCES): Modify accordingly.
      
      	* src/aboutdialog.cc: Prefix URL and mail strings with U+202D
      	LEFT-TO-RIGHT OVERRIDE in order to avoid the current mess in
      	RTL environments.
      	(ContributorBox::ContributorBox): Escape the 'what' string by
      	passing it to Glib::Markup::escape_text(), just in case.
      
      	* src/controller.cc (add_widget_button): Reverse parameters
      	for consistency with the other helper functions.
      	(Controller::create_action_area): Make the implementation reflect
      	this change.
      
      	* src/filebuffer.{cc,h} (RegexxerTags::on_conf_value_changed):
      	New signal handler listening to GConf value changes.
      	(RegexxerTags::instance): Return the RefPtr<> by value rather
      	than by reference, because as it turns out the extra indirection
      	largely offsets the advantage gained by avoiding one additional
      	ref/unref cycle.
      	(FileBuffer::set_match_color): Remove; this setter is no longer
      	necessary since we're now listing to GConf changes and apply them
      	immediately.
      	(set_current_color): ditto
      	(get_match_color): ditto
      	(get_current_color): ditto.
      	(FileBuffer::weak_undo_stack_): Introduce a new data member used to
      	record all UndoAction objects that reference MatchData instances.
      	This is unfortunately necessary in order to be able to remove
      	UndoActions without actually doing the undo operation, for instance
      	when running find_matches() again.
      	(notify_weak_undos): New function dealing with the weak references.
      	(undo_add_weak): ditto
      	(undo_remove_weak): ditto.
      	(signal_match_count_changed): Remove the count argument as this
      	information can easily be obtained by using the appropriate getter.
      	(create_with_error_message): Invoke Unicode::ispunct() instead of
      	testing for '.' explicitely.
      	(is_freeable): Return true only if there are no UndoAction objects
      	around referencing this FileBuffer.
      	(find_matches): Call notify_weak_undos() to get rid of any
      	references by UndoAction objects to this FileBuffer.
      	(get_line_preview): Make this method strongly exception-safe.
      	(on_apply_tag): New virtual method implementation, needed in order
      	to filter tag apply operations caused by inserting from clipboard.
      	This avoids confusion caused by highlighting text as match which
      	is not recorded as such internally.
      
      	* src/undostack.{cc,h}: Provide a way to interrupt a running undo
      	operation (i.e. by clicking the 'Stop' button in the GUI).
      	(do_undo): Add a slot parameter for this purpose.
      	(undo): ditto.
      
      	* src/filebufferundo.{cc,h} (do_undo): Make use of the new slot
      	parameter in order to allow for interuption of the undo process.
      	(FileBufferActionRemoveMatch): Make use of the weak notification
      	mechanism now provided by FileBuffer.
      
      	* src/fileshared.h (MatchData::get_match_length): Remove this
      	pointless accessor function.
      
      	* src/fileshared.cc (MatchData::~MatchData): Be extra careful
      	and remove the quark pointing to the MatchData instance from the
      	mark object.
      
      	* src/filetree.{cc,h} (FileTree::on_conf_value_changed): New
      	signal handler listening to GConf value changes.
      	(set_fallback_encoding): Remove this now pointless accessor.
      	(get_fallback_encoding): ditto.
      	(expand_and_select): Get rid of compatibility code for GTK+ < 2.2.
      	(on_buffer_match_count_changed): Adapt to the changes made to
      	FileBuffer::signal_match_count_changed.
      
      	* src/filetreeprivate.cc (collatekey_sort_func): Use std::memcmp()
      	instead of std::strcmp() as the former allows for inlining of the
      	string operation by gcc.
      	(FileTree::BufferActionShell::do_undo): Make use of the new slot
      	parameter in order to allow for interuption of the undo process.
      
      	* src/main.cc (set_default_window_icon): New name, formerly
      	regexxer_set_window_icon().  Replace the pixbuf list stuff with
      	a simple call to Gtk::Window::set_default_icon_from_file().
      	(trap_gconf_exceptions): New global exception handler callback,
      	invoked whenever an exception escapes from a C++ handler of
      	a GObject signal.  Our particular handler is used to filter any
      	Gnome::Conf::Error exceptions, thus in essence ignoring them.
      	This way we don't need to deal with exceptions in each handler
      	of the GConf "value_changed" signal.
      	(initialize_configuration): New function to be invoked by main()
      	in order to load the initial configuration values.  By emitting
      	an artificial "value_changed" signal for each entry in regexxer's
      	GConf directory, the need for separate initialization code for
      	each key is neatly avoided.
      	(main): Accomodate the changes listed above.
      
      	* src/mainwindow.{cc,h} (MainWindow::on_conf_value_changed):
      	New signal handler listening to GConf value changes.
      	(on_preferences): Remove all the code dealing with individual
      	configuration values, since we're now using a decentralized change
      	notification approach instead.
      	(load_configuration): Ditch this.
      	(save_configuration): ditto.
      	(confirm_quit_request): Honor the fact that the new GTK+ file
      	selector doesn't append '/' to directories anymore.  This bug
      	is quite annoying and should have been fixed months ago :/
      	Also widen the dialog's default size to 400 pixels.
      	(on_buffer_match_count_changed): Remove, there's no need to
      	listen for this on the FileBuffer because the FileTree is
      	reflecting these changes anyway.
      	(on_buffer_bound_state_changed): ditto.
      	(on_bound_state_changed): Because there's only one now, rename
      	from on_filetree_bound_state_changed().
      	(on_filetree_match_count_changed): Take care of the FileBuffer
      	match count as well.
      	(on_go_next): Replace the 0.2 delta passed to scroll_to_mark()
      	with 0.125, as the latter looks nicer to my eyes and also happens
      	to be a 'round' number in base 2.
      	(on_undo): Accomodate the changes made to the UndoAction classes
      	in order to allow for interruption of the running undo process.
      	Also instantiate a BusyAction object for this purpose.
      	(undo_stack_clear): New method.
      	(set_title_filename): Replace the plain '-' by U+2013 EN DASH.
      
      	* src/miscutils.{cc,h} (gtk_version_at_least): Remove since it's
      	no longer used.
      
      	* src/pcreshell.{cc,h}: To my astonisment I found out that the
      	source of my constant trouble with libpcre and UTF-8 text was
      	caused by pcre_study() alone!  The great thing is of course that
      	simply not using that silly function is all that's needed to get
      	rid of this constant source of mayhem.
      	(escape_non_ascii): Remove, since no longer needed.
      	(translate_to_char_offset): Get rid of this one too.
      	(byte_to_char_offset): New little helper function.
      	(check_for_single_byte_escape): The "\C" escape sequence seems
      	to be only thing we still have to take care of manually.  This
      	particular sequence matches a single byte even of a multi-byte
      	character, and thus is likely to cause hell to break loose.
      	(Pattern::pcre_extra_): Remove.
      	(Pattern::Pattern): Get rid of the pcre_study() call, and
      	make use of the new check_for_single_byte_escape() function.
      	(Pattern::~Pattern): No need to free pcre_extra_ anymore.
      	(Pattern::match): Throw an exception if the regular expression
      	exceeds the recursion and backtracking limit of libpcre.
      	(CompileOptions): Implement the remaining bit manipulation
      	operators for completeness.
      	(MatchOptions): ditto.
      
      	* src/prefdialog.{cc,h} (get_toolbar_style_index): New helper
      	function.
      	(FontSelectionButton::set_selected_font): Take the font name
      	rather than a Pango::FontDescription object as parameter.
      	(get_selected_font): Likewise for the return type.
      	(PrefDialog::button_direction_): New Gtk::CheckButton member,
      	allowing users of RTL environments to override the direction
      	of regexxer's file editor alone.
      	(on_conf_value_changed): New signal handler listening to
      	GConf value changes.
      	(initialize_configuration): New function to load the initial
      	settings immediately after creation of the preference dialog.
      	Works just like the identically named function in main.cc,
      	except that it invokes on_conf_value_changed() directly instead
      	of triggering the global "value_changed" signal.
      	(on_textview_font_selected): Set the appropriate GConf key
      	instead of using the old internal signal feedback mechanism.
      	(on_match_color_selected): ditto
      	(on_current_color_selected): ditto
      	(on_option_toolbar_style_changed): ditto
      	(on_entry_fallback_activate): ditto.
      	(on_button_direction_toggled): New method.
      	(signal_pref_textview_font_changed): Remove.
      	(signal_pref_match_color_changed): Remove.
      	(signal_pref_current_color_changed): Remove.
      	(signal_pref_toolbar_style_changed): Remove.
      	(signal_pref_fallback_encoding_changed): Remove.
      	(on_entry_fallback_changed): Record that entry content was changed
      	by setting the boolean entry_fallback_changed_ flag.  This is just
      	to avoid superfluous commits to the GConf database every time the
      	preference dialog is closed.
      	(on_response): Evaluate entry_fallback_changed_ (see above),
      	and make sure no Gnome::Conf::Error exceptions escape from
      	on_entry_fallback_activate().
      	(create_page_look): Move the signal handler setup to the ctor.
      	(create_page_file): ditto.
      
      	* src/statusline.cc (CounterBox::CounterBox): Catch possible
      	exceptions when applying the locale to the stream object, in
      	order to avoid crashing if the user's locale is invalid.
      
      	* src/stringutils.cc (apply_modifiers): Modify the code a bit
      	to reduce the number of string copies made.
      	(parse_control_char): Add a 'dest' output parameter to avoid
      	returning a string by value.
      	(parse_hex_unichar): ditto
      	(parse_oct_unichar): ditto.
      	(parse_capture_index): New helper function to deal with both
      	"$1" and "${1}"-style references in the substitution string.
      	(validate_encoding): Simplify.  Also, don't accept any error
      	codes but NO_CONVERSION.
      	(encodings_equal): No longer use std::find_if() since it really
      	doesn't make the code any simpler in this particular case.
      	(trim_whitespace): Remove; no longer used.
      	(shell_pattern_to_regex): Various performance improvements.
      	Also take care of a possible trailing backslash to avoid escaping
      	the "\z" appended by regexxer itself.
      	(substitute_references): Restructure the loop a bit, and accomodate
      	the changes made to the parse_*_char() functions mentioned above.
      	Also, avoid the need for ascii_isodigit() in the default branch by
      	simply adding all 8 octal digits as case labels.
      	(int_to_string): Catch any exceptions that might occur when
      	applying the locale to the stream.  This could happen if the
      	user's default locale is invalid.
      	(transform_pathname): Replace this silly 2-in-1 function by
      	separate shorten_pathname() and expand_pathname() implementations.
      	There really is no need to cache the home directory in a static
      	variable.
      	(shorten_pathname): Implement separately rather than forwarding
      	to transform_pathname().
      	(expand_pathname): ditto.
      	(enum_from_nick): New utility function to convert the 'nick'
      	of a particular enumeration value to the actual integer value.
      	This of course requires the the enumeration type to be registered
      	via the GObject type system.
      	(enum_to_nick): Likewise, but the other way around.
      	(enum_from_nick_impl): Non-template implementation part.
      	(enum_to_nick_impl): ditto.
      
      2004-05-04  Daniel Elstner  <daniel.elstner@gmx.net>
      
      	* macros/cxx.m4: Make use of the new AS_IF() macro, and also
      	improve the portability of the shell code a bit.
      
      	* macros/pcre.m4: Ditto.
      
      	* macros/misc.m4: New file, introducing a REGEXXER_PKG_PATH_PROG
      	macro which can be used to look for executables that might live
      	in subdirectories indicated by pkg-config output.
      
      	* autogen.sh: Some minor shell coding-style improvements.
      
      	* configure.ac: Invoke the new REGEXXER_PKG_PATH_PROG macro in
      	order to look for gdk-pixbuf-csource.  Use the new macro to look
      	for gconftool-2 as well.
      	(AC_CHECK_HEADERS): Remove the tests for sys/types.h, sys/stat.h,
      	umask() and mode_t since they're no longer necessary.
      	(PKG_CHECK_MODULES): Substitute the GTKMM prefix by PKG (I don't
      	like MM_DEPS as introduced by Murray in HEAD.)  Also, get rid of
      	the libgnomevfsmm dependency.
      	(REGEXXER_ENABLE_GCONFMM_VALUE_HACK): New preprocessor macro to
      	be inserted into config.h.  This isn't actually used yet, I'll
      	get to that later.
      
      	* regexxer.schemas: New file.
      
      	* Makefile.am: Add rules taking care of the installation of the
      	GConf schema file.
      	(dist_schema_DATA): Add regexxer.schemas to the distribution.
      	(dist_noinst_DATA): Ditto for macros/misc.m4.
      	(DISTCHECK_CONFIGURE_FLAGS): Include --disable-schemas-install.
      
      	* src/Makefile.am: Reflect the substitution of GTKMM by PKG made
      	in configure.ac.
      	(AM_CPPFLAGS): Use this variable in place of regexxer_CPPFLAGS,
      	because executable-specific CFLAGS is not something regexxer ever
      	intended to use.
      
      	* src/main.cc: Get rid of the libgnomevfsmm dependency.  For one
      	thing, the code using it didn't actually work with remote URIs.
      	For another, as of now there's no stable release of this library
      	in sight, no to mention a widely distributed release.
      
      	* src/fileio.cc (load_try_encoding): Comment-out the gnomevfs code
      	and replace it with the original Glib::IOChannel code instead.
      	(save_file): ditto.
      
      	* src/filetree.cc (find_recursively): Comment-out and replace with
      	the previous non-gnomevfs code.
      797604cf
  3. 10 Apr, 2004 1 commit
    • Murray Cumming's avatar
      Put the mm libs and cflags before the pcre ones, because the mm ones are · 83d034d4
      Murray Cumming authored
      2004-04-10  Murray Cumming  <murrayc@murrayc.com>
      
              * regexxer/Makefile.am: Put the mm libs and cflags before the pcre
              ones, because the mm ones are more likely to be in more than one
              prefix, to avoid undefined symbols when a -L command means we link
              to an older GTK+. This is a bit hacky, but I don't know a better
              solution - at least it will work on distros where everything is in the
              same prefix.
              * scripts/cxx.m4: Replace deprecated AC_HELP_STRING with
              AS_HELP_STRING.
      83d034d4
  4. 04 Apr, 2004 1 commit
  5. 07 Dec, 2003 1 commit
    • Murray Cumming's avatar
      set_fallback_encoding_from_string(): Ignore empty value from GConf, so · 933c04eb
      Murray Cumming authored
      2003-12-07  Murray Cumming  <murrayc@usa.net>
      
              * src/configdata.cc: set_fallback_encoding_from_string(): Ignore
              empty value from GConf, so that the default fallback encoding is
              used. That is ISO-8859-15, also known as Latin 9, which seems to
              be commonly-used on Windows.
              * src/fileio.[h|cc]: Use gnome-vfsmm instead of Glib::IOChannel
              to read and write file contents, so we can use any URI.
              * src/filetree.[h|cc]: Likewise, use gnome-vfsmm instead of
              Glib::Dir to list the files.
              * configure.ac: Added pkg-config check for gnome-vfsmm.
      933c04eb
  6. 29 Nov, 2003 1 commit
    • Murray Cumming's avatar
      regexxer now depends on gconfmm. Removed the check for 2.2-specific · 7895d37f
      Murray Cumming authored
      2003-11-29  Murray Cumming  <murrayc@usa.net>
      
              * configure.ac: regexxer now depends on gconfmm. Removed the check
              for 2.2-specific features.
              * Remoevd all gtkmm 2.2-specific #ifdefs because 2.2 is everywhere
              now..
              * src/configdata.[h|cc]: Changed the implemention to use GConfmm
              instead of the text file.
      7895d37f
  7. 31 Oct, 2003 1 commit
  8. 29 Oct, 2003 1 commit
  9. 06 Feb, 2003 1 commit
  10. 11 Jan, 2003 3 commits
  11. 01 Jan, 2003 6 commits
  12. 30 Dec, 2002 2 commits
    • daniel_e's avatar
      Get rid of the menubar_handle_ and toolbar_handle_ data members. We don't · 33328cb7
      daniel_e authored
      need to keep them around anymore since the config option to hide one or the
      other is gone.
      33328cb7
    • daniel_e's avatar
      New fancy experiment to make labels both selectable _and_ focusable, so · 74a4dff6
      daniel_e authored
      * src/aboutdialog.cc (SelectableLabel): New fancy experiment to make labels
      both selectable _and_ focusable, so that they end up in the Tab chain.
      
      * src/aboutdialog.cc src/imagebutton.cc src/prefdialog.cc: Don't show all
      children of custom "composite" widgets in the constructor.  It doesn't make
      much sense since we call show_all() later on anyway.  And making these
      "composite" widgets really independent components would require overriding
      both show_all_vfunc() and hide_all_vfunc(), which is currently not worth
      the effort.
      74a4dff6
  13. 28 Dec, 2002 3 commits
  14. 27 Dec, 2002 3 commits
  15. 26 Dec, 2002 5 commits