Commit 2bae7600 authored by Johannes Schmid's avatar Johannes Schmid Committed by Johannes Schmid

This is the end of the ChangeLog. After more than nine years of development

the anjuta project (as the whole GNOME project) is switching to git and we
will no longer maintain a seperate ChangeLog file but use the git log instead.
Please still write good messages into the git log, see HACKING for details!

So long and thanks for the fish!

2009-04-16  Johannes Schmid  <jhs@gnome.org>

  * HACKING: Updated for git

2009-04-16  Johannes Schmid  <jhs@gnome.org>

  Based on patch from : Maxim Ermilov <zaspire@rambler.ru>
  
	* configure.in:
	Added some (disabled) option to build with DISABLE_DEPRECATED
	
	* plugins/cvs-plugin/anjuta-cvs-plugin.glade:
	* plugins/cvs-plugin/cvs-actions.c (on_browse_button_clicked),
	(cvs_add_dialog), (cvs_remove_dialog), (cvs_commit_dialog),
	(cvs_update_dialog), (cvs_diff_dialog), (cvs_status_dialog),
	(cvs_log_dialog), (on_menu_cvs_import):
	* plugins/cvs-plugin/cvs-callbacks.c (check_entry),
	(on_cvs_import_response):
	* plugins/subversion/anjuta-subversion.glade:
	* plugins/subversion/subversion-add-dialog.c
	(subversion_add_dialog):
	* plugins/subversion/subversion-diff-dialog.c
	(subversion_diff_dialog):
	* plugins/subversion/subversion-log-dialog.c
	(subversion_log_window_create):
	* plugins/subversion/subversion-merge-dialog.c
	(subversion_merge_dialog):
	* plugins/subversion/subversion-switch-dialog.c
	(subversion_switch_dialog):
	* plugins/subversion/subversion-ui-utils.c
	(on_subversion_browse_button_clicked):
	* plugins/subversion/subversion-ui-utils.h:
	* plugins/subversion/subversion-update-dialog.c
	(subversion_update_dialog):
	* plugins/tools/anjuta-tools.glade:
	* plugins/tools/editor.c (on_editor_icon_entry_clicked),
	(atp_populate_tool_editor), (on_editor_response),
	(on_editor_browse_button_clicked),
	(on_editor_browse_button_dir_clicked), (atp_tool_editor_show):
	* src/main.c (main):
	* src/shell.c (anjuta_test_shell_dispose),
	(anjuta_test_shell_finalize), (main):
	#572754 – Remove deprecated GTK+ symbols

svn path=/trunk/; revision=4944
parent c3e2e238
This is the end of the ChangeLog. After more than nine years of development
the anjuta project (as the whole GNOME project) is switching to git and we
will no longer maintain a seperate ChangeLog file but use the git log instead.
Please still write good messages into the git log, see HACKING for details!
So long and thanks for the fish!
2009-04-16 Johannes Schmid <jhs@gnome.org>
* HACKING: Updated for git
2009-04-16 Johannes Schmid <jhs@gnome.org>
Based on patch from : Maxim Ermilov <zaspire@rambler.ru>
* configure.in:
Added some (disabled) option to build with DISABLE_DEPRECATED
* plugins/cvs-plugin/anjuta-cvs-plugin.glade:
* plugins/cvs-plugin/cvs-actions.c (on_browse_button_clicked),
(cvs_add_dialog), (cvs_remove_dialog), (cvs_commit_dialog),
(cvs_update_dialog), (cvs_diff_dialog), (cvs_status_dialog),
(cvs_log_dialog), (on_menu_cvs_import):
* plugins/cvs-plugin/cvs-callbacks.c (check_entry),
(on_cvs_import_response):
* plugins/subversion/anjuta-subversion.glade:
* plugins/subversion/subversion-add-dialog.c
(subversion_add_dialog):
* plugins/subversion/subversion-diff-dialog.c
(subversion_diff_dialog):
* plugins/subversion/subversion-log-dialog.c
(subversion_log_window_create):
* plugins/subversion/subversion-merge-dialog.c
(subversion_merge_dialog):
* plugins/subversion/subversion-switch-dialog.c
(subversion_switch_dialog):
* plugins/subversion/subversion-ui-utils.c
(on_subversion_browse_button_clicked):
* plugins/subversion/subversion-ui-utils.h:
* plugins/subversion/subversion-update-dialog.c
(subversion_update_dialog):
* plugins/tools/anjuta-tools.glade:
* plugins/tools/editor.c (on_editor_icon_entry_clicked),
(atp_populate_tool_editor), (on_editor_response),
(on_editor_browse_button_clicked),
(on_editor_browse_button_dir_clicked), (atp_tool_editor_show):
* src/main.c (main):
* src/shell.c (anjuta_test_shell_dispose),
(anjuta_test_shell_finalize), (main):
#572754 – Remove deprecated GTK+ symbols
2009-04-13 Massimo Cora' <mcora@svn.gnome.org>
* libanjuta/interfaces/libanjuta.idl:
......@@ -10,7 +10,7 @@ First thing to do is to get a build working. Anjuta can be built using jhbuild,
which is the recommended way to build GNOME 2.x and Anjuta. It is advisable to
use '--enable-warnings --enable-debug' with configure while building anjuta if
you want to hack on it. Anjuta can be used to hack on Anjuta, and there is a
anjuta.anjuta project file in CVS for this purpose.
anjuta.anjuta project file in git for this purpose.
Once you have got anjuta built and loaded in itself, the most important thing
is to decide what to work on (the TODO, as you say). There are many directions
......@@ -37,23 +37,27 @@ and RFE database at http://bugzilla.gnome.org (the module is called anjuta).
You can also have a look at the reasonably up-to-date TODO file we maintain
in the source code or view it with Task Manager in Anjuta.
4. Working on the porting anjuta 1.2 features to anjuta2. This is a noble
undertaking but likely to be hard work, and probably not suitable for
newbie developers. Note that this is most code and plugins are ported but
they might not yet be as good as in anjuta 1.2.
Resources:
----------
- Homepage: http://www.anjuta.org/
- Project details page: http://sourceforge.net/projects/anjuta/
- CVS snapshots: http://www.anjuta.org/cvs/
- Anonymous CVS Access: cvs -z3 -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co anjuta
- git: http://git.gnome.org/cgit/
- Anonymous CVS Access: git clone git://git.gnome.org/anjuta
- Mailing Lists: http://sourceforge.net/mail/?group_id=14222
- Bug database: http://bugzilla.gnome.org (the module is called anjuta)
- Feature Requests: See Bug database above
- Forums: http://sourceforge.net/forum/?group_id=14222
- IRC: irc.gnome.org (Channel: #anjuta and #devel-apps)
Log messages:
-------------
Log messages for git should have the following format:
"A short summary of the changes (should contain bug number)
(empty line)
[optional] A more detailed description of the changes made. Can have multiple
lines and should contain patch contributer, etc."
Tools:
-----
Anjuta is written using a mixture of C and C++. You will require
......@@ -69,37 +73,15 @@ Patches are good, and patches are always welcome! Small, self-contained
patches are preferred - larger patches which touch on a large number
of areas of the source tree are more complex to apply and test.
Patches may be submitted to the project website, to the mailing lists,
or directly to the project maintainer.
Patches may be submitted to the to the mailing lists of preferable to GNOME
bugzilla.
The six-step plan to patching happiness is as follows:
------------------------------------------------------
1) All patches should be submitted in *unified* form, i.e. created
with the command "diff -u" or "cvs diff -u").
Make your changes in all files (including the ChangeLog file) and run
"cvs diff -u > patch.diff" in the top level anjuta/ directory. This diff
file will contain patches for all of the files together.
Remember to run the cvs diff for the *top* project directory. It will
automatically recurse into the subdirectories and generate the patches.
We ask for patches in this format because:
- more often then not, patches are out of sync with current CVS. This
can happen because someone is submitting a patch taken against an old
version of Anjuta, or against anonymous CVS (which is usually out of
sync for 24 hours). Therefore, the maintainers have to review patches
manually.
- if a patch file is opened in Anjuta (or editors such as Nedit) in
"Diff" mode, *unified* formats are more readable and errors and
mis-syncs are easily detected. Non-unified formats are hard to read.
- unified patches are more intelligent in recognizing changed lines
(because by default there is a 3-line context buffer).
1) Create your patches directly using the git features -> don't write
patches against the tarball.
2) Diffs taken against CVS should be preceded by "cvs -z3 up" in
*all* cases.
(Note: You can of course use the cvs plugin for all this stuff)
2) Use an up-to-date copy for the diffs
3) If the patch is big or is not high priority (i.e. things other than
stability patches), then either send it to the lead developers directly
......@@ -108,14 +90,12 @@ stability patches), then either send it to the lead developers directly
subscribers and are liable to be rejected by the list server. Send
a reference email to the list mentioning that you have sent a patch.
4) *Always* include a ChangeLog entry as part of the diff to ensure that
your entry is also committed directly with your name mentioned.
4) Include a good log message to the patch.
5) Name the patch with a useful filename. e.g. avoid calling your patch
patch.diff, anjuta.diff or something like that. It is easier to manage
a queue of patches named things like biswa-print-20020605.diff and
bug-544912.diff as the names are more meaningful. Include the bug number
or your name and the date in the name of the file. Thanks!
5) Name the patch with a useful filename. For example:
* 123456-foo-feature.patch or
* 987654-fixed-editor-crash
It's ok to include the 000x that git puts in front of the patch name
Coding style:
--------------
......@@ -202,30 +182,6 @@ Key elements:
* global-tags/ - System tags.
* manuals/ - All sorts of sgml documents (API and user).
Scintilla:
---------
The editing component in Anjuta is Scintilla (www.scintilla.org).
The Scintilla sources are imported to the scintilla/ directory in the
Anjuta source tree - some reorganization is required:
<pre>
Scintilla Anjuta
--------- ------
src/ -> scintilla/
gtk/ -> scintilla/
include/ -> scintilla/include
</pre>
These are used to compile libscintilla.a, the library which provides
the bulk of Anjuta's editing functions.
The interface into Scintilla is in src/aneditor-*.cxx. This is based on
SciTE and a lot of care needs to be taken when merging code, since it
combines several different files from the SciTE source tree and is
quite flexible in the ways that they are used. Also, note that lexer
objects from Scintilla must be referenced in src/Makefile.am in order
to get linked into Anjuta.
Messages and translations:
-------------------------
There are a few rules we ask contributors to follow when adding new
......
......@@ -92,13 +92,10 @@ AC_SUBST(ANJUTA_LDFLAG)
AC_SUBST(ANJUTA_PLUGIN_LDFLAGS)
dnl Disable deprecated APIs
AC_ARG_ENABLE(deprecated,
AC_HELP_STRING([--disable-deprecated],[Disable deprecated APIs]),
[ if test "$enableval" = "no"; then
DEPRECATED_FLAGS="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED"
fi ],
[ DEPRECATED_FLAGS="" ])
AC_SUBST(DEPRECATED_FLAGS)
dnl if test x$MAINT = x; then
dnl DEPRECATED_FLAGS="-DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED"
dnl AC_SUBST(DEPRECATED_FLAGS)
dnl fi
dnl Enable versioned user preferences directory
AC_ARG_WITH(pref-suffix,
......@@ -270,7 +267,7 @@ PKG_CHECK_MODULES(PLUGIN_SYMBOL_DB,
dnl Setup Anjuta Library flags
dnl --------------------------
LIBANJUTA_CFLAGS='$(GLIB_CFLAGS) $(GTK_CFLAGS) $(GDL_CFLAGS) $(GNOME_CFLAGS) $(GLADE_CFLAGS) -I$(top_srcdir) -DPACKAGE_PIXMAPS_DIR=\""$(datadir)/pixmaps/$(PACKAGE)"\" -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\" -DPACKAGE_DATA_DIR=\""$(datadir)/$(PACKAGE)"\"'
LIBANJUTA_CFLAGS='$(GLIB_CFLAGS) $(GTK_CFLAGS) $(GDL_CFLAGS) $(GNOME_CFLAGS) $(GLADE_CFLAGS) $(DEPRECATED_FLAGS) -I$(top_srcdir) -DPACKAGE_PIXMAPS_DIR=\""$(datadir)/pixmaps/$(PACKAGE)"\" -DPACKAGE_LIB_DIR=\""$(pkglibdir)"\" -DPACKAGE_DATA_DIR=\""$(datadir)/$(PACKAGE)"\"'
LIBANJUTA_LIBS='$(top_builddir)/libanjuta/libanjuta.la'
AC_SUBST(LIBANJUTA_CFLAGS)
AC_SUBST(LIBANJUTA_LIBS)
......@@ -872,5 +869,5 @@ else
echo "Building GtkSourceView based editor: ...................NO"
fi
echo "-------------------------------------------------------------------"
#echo "AM_CFLAGS = $AM_CFLAGS"
echo "AM_CFLAGS = $AM_CFLAGS"
......@@ -2,7 +2,6 @@
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
<!--*- mode: xml -*-->
<glade-interface>
<requires lib="gnome"/>
<widget class="GtkWindow" id="preferences_cvs">
<property name="visible">True</property>
<property name="title" translatable="yes">CVS Preferences</property>
......@@ -44,17 +43,8 @@
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry1">
<widget class="GtkFileChooserButton" id="preferences_file:text:/usr/bin/cvs:0:cvs.path">
<property name="visible">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<widget class="GtkEntry" id="preferences_entry:text:/usr/bin/cvs:0:cvs.path">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="text">/usr/bin/cvs</property>
</widget>
</child>
</widget>
<packing>
<property name="left_attach">1</property>
......@@ -162,18 +152,30 @@
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="gnomefileentry">
<widget class="GtkHBox" id="hbox01">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_add_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -265,17 +267,30 @@
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry2">
<widget class="GtkHBox" id="hbox02">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_remove_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -369,17 +384,30 @@ Pressing OK will delete the file from disk and from CVS. Of course the file won'
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry3">
<widget class="GtkHBox" id="hbox03">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_commit_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -468,16 +496,10 @@ Pressing OK will delete the file from disk and from CVS. Of course the file won'
</packing>
</child>
<child>
<widget class="GnomeEntry" id="entry2">
<widget class="GtkEntry" id="cvs_revision">
<property name="visible">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<widget class="GtkEntry" id="cvs_revision">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
</child>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
<packing>
<property name="position">1</property>
......@@ -588,18 +610,30 @@ Pressing OK will delete the file from disk and from CVS. Of course the file won'
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry4">
<widget class="GtkHBox" id="hbox04">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_update_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -711,16 +745,10 @@ Pressing OK will delete the file from disk and from CVS. Of course the file won'
</packing>
</child>
<child>
<widget class="GnomeEntry" id="entry5">
<widget class="GtkEntry" id="cvs_revision">
<property name="visible">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<widget class="GtkEntry" id="cvs_revision">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
</child>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
<packing>
<property name="position">1</property>
......@@ -841,18 +869,30 @@ Pressing OK will delete the file from disk and from CVS. Of course the file won'
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry5">
<widget class="GtkHBox" id="hbox05">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_status_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -1004,18 +1044,30 @@ Pressing OK will delete the file from disk and from CVS. Of course the file won'
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry6">
<widget class="GtkHBox" id="hbox06">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_diff_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -1094,16 +1146,10 @@ Patch-Style diff</property>
</packing>
</child>
<child>
<widget class="GnomeEntry" id="entry4">
<widget class="GtkEntry" id="cvs_revision">
<property name="visible">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<widget class="GtkEntry" id="cvs_revision">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
</child>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
<packing>
<property name="position">1</property>
......@@ -1218,17 +1264,30 @@ Patch-Style diff</property>
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry7">
<widget class="GtkHBox" id="hbox07">
<property name="visible">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<child>
<widget class="GtkEntry" id="cvs_filename">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
<property name="invisible_char">&#x25CF;</property>
<property name="width_request">260</property>
</widget>
<packing>
<property name="position">0</property>
</packing>
</child>
<child>
<widget class="GtkButton" id="browse_button_log_dialog">
<property name="label" translatable="yes">Browse...</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
</widget>
<packing>
<property name="expand">False</property>
<property name="position">1</property>
</packing>
</child>
</widget>
<packing>
......@@ -1461,19 +1520,9 @@ Patch-Style diff</property>
</packing>
</child>
<child>
<widget class="GnomeFileEntry" id="fileentry8">
<widget class="GtkFileChooserButton" id="cvs_rootdir">
<property name="visible">True</property>
<property name="directory_entry">True</property>
<property name="modal">True</property>
<property name="use_filechooser">True</property>
<property name="max_saved">10</property>
<child internal-child="entry">
<widget class="GtkEntry" id="cvs_rootdir">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">*</property>
</widget>
</child>
<property name="action">select-folder</property>
</widget>
<packing>
<property name="left_attach">1</property>
......
......@@ -30,6 +30,14 @@
#include <libanjuta/anjuta-utils.h>
#include <libanjuta/anjuta-debug.h>
#define BROWSE_BUTTON_ADD_DIALOG "browse_button_add_dialog"
#define BROWSE_BUTTON_REMOVE_DIALOG "browse_button_remove_dialog"
#define BROWSE_BUTTON_COMMIT_DIALOG "browse_button_commit_dialog"
#define BROWSE_BUTTON_UPDATE_DIALOG "browse_button_update_dialog"
#define BROWSE_BUTTON_DIFF_DIALOG "browse_button_diff_dialog"
#define BROWSE_BUTTON_STATUS_DIALOG "browse_button_status_dialog"
#define BROWSE_BUTTON_LOG_DIALOG "browse_button_log_dialog"
void cvs_add_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename);
void cvs_remove_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename);
void cvs_commit_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename);
......@@ -97,11 +105,34 @@ static void on_whole_project_toggled(GtkToggleButton* project, CVSPlugin *plugin
gtk_widget_set_sensitive(GTK_WIDGET(fileentry), TRUE);
}
static void
on_browse_button_clicked(GtkButton *button, GtkEntry *entry)
{
GtkWidget *dialog;
dialog = gtk_file_chooser_dialog_new("Open File",
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
NULL);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT)
{
char *filename;
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER (dialog));
gtk_entry_set_text(entry, filename);
g_free(filename);
}
gtk_widget_destroy(dialog);
}
void cvs_add_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename)
{
GladeXML* gxml;
GtkWidget* dialog;
GtkWidget* fileentry;
GtkWidget* button;
CVSData* data;
gxml = glade_xml_new(GLADE_FILE, "cvs_add", NULL);
......@@ -110,6 +141,10 @@ void cvs_add_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename)
if (filename)
gtk_entry_set_text(GTK_ENTRY(fileentry), filename);
button = glade_xml_get_widget(gxml, BROWSE_BUTTON_ADD_DIALOG);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(on_browse_button_clicked), fileentry);
data = cvs_data_new(plugin, gxml);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(on_cvs_add_response), data);
......@@ -122,6 +157,7 @@ void cvs_remove_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename)
GladeXML* gxml;
GtkWidget* dialog;
GtkWidget* fileentry;
GtkWidget* button;
CVSData* data;
gxml = glade_xml_new(GLADE_FILE, "cvs_remove", NULL);
......@@ -131,6 +167,10 @@ void cvs_remove_dialog(GtkAction* action, CVSPlugin* plugin, gchar *filename)
if (filename)
gtk_entry_set_text(GTK_ENTRY(fileentry), filename);
button = glade_xml_get_widget(gxml, BROWSE_BUTTON_REMOVE_DIALOG);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(on_browse_button_clicked), fileentry);
data = cvs_data_new(plugin, gxml);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(on_cvs_remove_response), data);
......@@ -145,6 +185,7 @@ void cvs_commit_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
GtkWidget* dialog;
GtkWidget* fileentry;
GtkWidget* project;
GtkWidget* button;
CVSData* data;
gxml = glade_xml_new(GLADE_FILE, "cvs_commit", NULL);
......@@ -159,7 +200,11 @@ void cvs_commit_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
g_signal_connect(G_OBJECT(project), "toggled",
G_CALLBACK(on_whole_project_toggled), plugin);
init_whole_project(plugin, project);
button = glade_xml_get_widget(gxml, BROWSE_BUTTON_COMMIT_DIALOG);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(on_browse_button_clicked), fileentry);
data = cvs_data_new(plugin, gxml);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(on_cvs_commit_response), data);
......@@ -174,6 +219,7 @@ void cvs_update_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
GtkWidget* dialog;
GtkWidget* fileentry;
GtkWidget* project;
GtkWidget* button;
CVSData* data;
gxml = glade_xml_new(GLADE_FILE, "cvs_update", NULL);
......@@ -188,7 +234,11 @@ void cvs_update_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
g_signal_connect(G_OBJECT(project), "toggled",
G_CALLBACK(on_whole_project_toggled), plugin);
init_whole_project(plugin, project);
button = glade_xml_get_widget(gxml, BROWSE_BUTTON_UPDATE_DIALOG);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(on_browse_button_clicked), fileentry);
data = cvs_data_new(plugin, gxml);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(on_cvs_update_response), data);
......@@ -204,6 +254,7 @@ void cvs_diff_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
GtkWidget* diff_type;
GtkWidget* unified_diff;
GtkWidget* project;
GtkWidget* button;
CVSData* data;
gxml = glade_xml_new(GLADE_FILE, "cvs_diff", NULL);
......@@ -224,7 +275,11 @@ void cvs_diff_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
gtk_combo_box_set_active(GTK_COMBO_BOX(diff_type), DIFF_PATCH);
g_signal_connect(G_OBJECT(diff_type), "changed",
G_CALLBACK(on_diff_type_changed), unified_diff);
button = glade_xml_get_widget(gxml, BROWSE_BUTTON_DIFF_DIALOG);
g_signal_connect(G_OBJECT(button), "clicked",
G_CALLBACK(on_browse_button_clicked), fileentry);
data = cvs_data_new(plugin, gxml);
g_signal_connect(G_OBJECT(dialog), "response",
G_CALLBACK(on_cvs_diff_response), data);
......@@ -238,6 +293,7 @@ void cvs_status_dialog (GtkAction* action, CVSPlugin* plugin, gchar *filename)
GtkWidget* dialog;
GtkWidget* fileentry;
GtkWidget* project;
GtkWidget* button;