nemiver r896 - in trunk: . src/persp/dbgperspective src/persp/dbgperspective/glade src/persp/dbgperspective/schemas
- From: jjongsma svn gnome org
- To: svn-commits-list gnome org
- Subject: nemiver r896 - in trunk: . src/persp/dbgperspective src/persp/dbgperspective/glade src/persp/dbgperspective/schemas
- Date: Sun, 27 Jul 2008 13:02:53 +0000 (UTC)
Author: jjongsma
Date: Sun Jul 27 13:02:53 2008
New Revision: 896
URL: http://svn.gnome.org/viewvc/nemiver?rev=896&view=rev
Log:
Add prefs for controlling behavior of reloading changed source files
Added:
trunk/src/persp/dbgperspective/nmv-conf-keys.h
Modified:
trunk/ChangeLog
trunk/src/persp/dbgperspective/glade/preferencesdialog.glade
trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc
trunk/src/persp/dbgperspective/nmv-preferences-dialog.cc
trunk/src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas
Modified: trunk/src/persp/dbgperspective/glade/preferencesdialog.glade
==============================================================================
--- trunk/src/persp/dbgperspective/glade/preferencesdialog.glade (original)
+++ trunk/src/persp/dbgperspective/glade/preferencesdialog.glade Sun Jul 27 13:02:53 2008
@@ -86,7 +86,7 @@
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
- <property name="top_padding">0</property>
+ <property name="top_padding">6</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
@@ -220,7 +220,7 @@
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
- <property name="top_padding">0</property>
+ <property name="top_padding">6</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
@@ -285,7 +285,7 @@
<property name="yalign">0.5</property>
<property name="xscale">1</property>
<property name="yscale">1</property>
- <property name="top_padding">0</property>
+ <property name="top_padding">6</property>
<property name="bottom_padding">0</property>
<property name="left_padding">12</property>
<property name="right_padding">0</property>
@@ -335,6 +335,176 @@
<property name="fill">False</property>
</packing>
</child>
+
+ <child>
+ <widget class="GtkFrame" id="frame4">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">6</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox5">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">When a source file is changed:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">6</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">6</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkVBox" id="vbox6">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkRadioButton" id="reloadradiobutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Reload the file</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="neverreloadradiobutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Do not reload the file</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">reloadradiobutton</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="confirmreloadradiobutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Ask each time</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">reloadradiobutton</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>File Monitoring</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
</widget>
<packing>
<property name="tab_expand">False</property>
Added: trunk/src/persp/dbgperspective/nmv-conf-keys.h
==============================================================================
--- (empty file)
+++ trunk/src/persp/dbgperspective/nmv-conf-keys.h Sun Jul 27 13:02:53 2008
@@ -0,0 +1,48 @@
+//Author: Jonathon Jongsma, Dodji Seketeli
+/*
+ *This file is part of the Nemiver project
+ *
+ *Nemiver 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,
+ *or (at your option) any later version.
+ *
+ *Nemiver is distributed in the hope that it will
+ *be useful, but WITHOUT ANY WARRANTY;
+ *without even the implied warranty of
+ *MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *See the GNU General Public License for more details.
+ *
+ *You should have received a copy of the
+ *GNU General Public License along with Nemiver;
+ *see the file COPYING.
+ *If not, write to the Free Software Foundation,
+ *Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ *See COPYRIGHT file copyright information.
+ */
+
+#ifndef __NMV_CONF_KEYS_H__
+#define __NMV_CONF_KEYS_H__
+
+NEMIVER_BEGIN_NAMESPACE (nemiver)
+
+extern const char* CONF_KEY_NEMIVER_SOURCE_DIRS;
+extern const char* CONF_KEY_SHOW_DBG_ERROR_DIALOGS;
+extern const char* CONF_KEY_SHOW_SOURCE_LINE_NUMBERS;
+extern const char* CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE;
+extern const char* CONF_KEY_ALLOW_AUTO_RELOAD_SOURCE;
+extern const char* CONF_KEY_HIGHLIGHT_SOURCE_CODE;
+extern const char* CONF_KEY_SOURCE_FILE_ENCODING_LIST;
+extern const char* CONF_KEY_USE_SYSTEM_FONT;
+extern const char* CONF_KEY_CUSTOM_FONT_NAME;
+extern const char* CONF_KEY_SYSTEM_FONT_NAME;
+extern const char* CONF_KEY_STATUS_WIDGET_MINIMUM_WIDTH;
+extern const char* CONF_KEY_STATUS_WIDGET_MINIMUM_HEIGHT;
+extern const char* CONF_KEY_STATUS_PANE_LOCATION;
+extern const char* CONF_KEY_DEBUGGER_ENGINE_DYNMOD_NAME;
+
+NEMIVER_END_NAMESPACE (nemiver)
+
+#endif // __NMV_CONF_KEYS_H__
Modified: trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc
==============================================================================
--- trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc (original)
+++ trunk/src/persp/dbgperspective/nmv-dbg-perspective.cc Sun Jul 27 13:02:53 2008
@@ -1,5 +1,5 @@
// -*- c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4; -*-'
-//Author: Dodji Seketeli
+//Author: Dodji Seketeli, Jonathon Jongsma
/*
*This file is part of the Nemiver project
*
@@ -86,6 +86,7 @@
#include "nmv-remote-target-dialog.h"
#include "nmv-registers-view.h"
#include "nmv-call-function-dialog.h"
+#include "nmv-conf-keys.h"
#ifdef WITH_MEMORYVIEW
#include "nmv-memory-view.h"
@@ -122,33 +123,33 @@
const char *DBG_PERSPECTIVE_MOUSE_MOTION_DOMAIN =
"dbg-perspective-mouse-motion-domain" ;
-static const char* CONF_KEY_NEMIVER_SOURCE_DIRS =
+const char* CONF_KEY_NEMIVER_SOURCE_DIRS =
"/apps/nemiver/dbgperspective/source-search-dirs" ;
-static const char* CONF_KEY_SHOW_DBG_ERROR_DIALOGS =
+const char* CONF_KEY_SHOW_DBG_ERROR_DIALOGS =
"/apps/nemiver/dbgperspective/show-dbg-error-dialogs";
-static const char* CONF_KEY_SHOW_SOURCE_LINE_NUMBERS =
+const char* CONF_KEY_SHOW_SOURCE_LINE_NUMBERS =
"/apps/nemiver/dbgperspective/show-source-line-numbers" ;
-static const char* CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE =
+const char* CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE =
"/apps/nemiver/dbgperspective/confirm-before-reload-source" ;
-static const char* CONF_KEY_ALLOW_AUTO_RELOAD_SOURCE =
+const char* CONF_KEY_ALLOW_AUTO_RELOAD_SOURCE =
"/apps/nemiver/dbgperspective/allow-auto-reload-source";
-static const char* CONF_KEY_HIGHLIGHT_SOURCE_CODE =
+const char* CONF_KEY_HIGHLIGHT_SOURCE_CODE =
"/apps/nemiver/dbgperspective/highlight-source-code" ;
-static const char* CONF_KEY_SOURCE_FILE_ENCODING_LIST =
+const char* CONF_KEY_SOURCE_FILE_ENCODING_LIST =
"/apps/nemiver/dbgperspective/source-file-encoding-list" ;
-static const char* CONF_KEY_USE_SYSTEM_FONT =
+const char* CONF_KEY_USE_SYSTEM_FONT =
"/apps/nemiver/dbgperspective/use-system-font" ;
-static const char* CONF_KEY_CUSTOM_FONT_NAME=
+const char* CONF_KEY_CUSTOM_FONT_NAME=
"/apps/nemiver/dbgperspective/custom-font-name" ;
-static const char* CONF_KEY_SYSTEM_FONT_NAME=
+const char* CONF_KEY_SYSTEM_FONT_NAME=
"/desktop/gnome/interface/monospace_font_name" ;
-static const char* CONF_KEY_STATUS_WIDGET_MINIMUM_WIDTH=
+const char* CONF_KEY_STATUS_WIDGET_MINIMUM_WIDTH=
"/apps/nemiver/dbgperspective/status-widget-minimum-width" ;
-static const char* CONF_KEY_STATUS_WIDGET_MINIMUM_HEIGHT=
+const char* CONF_KEY_STATUS_WIDGET_MINIMUM_HEIGHT=
"/apps/nemiver/dbgperspective/status-widget-minimum-height" ;
-static const char* CONF_KEY_STATUS_PANE_LOCATION=
+const char* CONF_KEY_STATUS_PANE_LOCATION=
"/apps/nemiver/dbgperspective/status-pane-location" ;
-static const char* CONF_KEY_DEBUGGER_ENGINE_DYNMOD_NAME =
+const char* CONF_KEY_DEBUGGER_ENGINE_DYNMOD_NAME =
"/apps/nemiver/dbgperspective/debugger-engine-dynmod" ;
Modified: trunk/src/persp/dbgperspective/nmv-preferences-dialog.cc
==============================================================================
--- trunk/src/persp/dbgperspective/nmv-preferences-dialog.cc (original)
+++ trunk/src/persp/dbgperspective/nmv-preferences-dialog.cc Sun Jul 27 13:02:53 2008
@@ -1,4 +1,4 @@
-//Author: Dodji Seketeli
+//Author: Dodji Seketeli, Jonathon Jongsma
/*
*This file is part of the Nemiver project
*
@@ -29,6 +29,7 @@
#include "nmv-ui-utils.h"
#include "nmv-i-conf-mgr.h"
#include "nmv-i-workbench.h"
+#include "nmv-conf-keys.h"
using nemiver::common::DynamicModuleManager ;
@@ -67,6 +68,9 @@
Gtk::HBox *custom_font_box ;
Gtk::CheckButton *show_lines_check_button ;
Gtk::CheckButton *highlight_source_check_button ;
+ Gtk::RadioButton *always_reload_radio_button;
+ Gtk::RadioButton *never_reload_radio_button;
+ Gtk::RadioButton *confirm_reload_radio_button;
Glib::RefPtr<Gnome::Glade::Xml> glade ;
Priv (const Glib::RefPtr<Gnome::Glade::Xml> &a_glade,
@@ -79,6 +83,9 @@
custom_font_box (0),
show_lines_check_button (0),
highlight_source_check_button (0),
+ always_reload_radio_button (0),
+ never_reload_radio_button (0),
+ confirm_reload_radio_button (0),
glade (a_glade)
{
init () ;
@@ -154,6 +161,11 @@
update_custom_font_key ();
}
+ void on_reload_files_toggled_signal ()
+ {
+ update_reload_files_keys ();
+ }
+
void init ()
{
@@ -221,6 +233,30 @@
ui_utils::get_widget_from_glade<Gtk::HBox>
(glade, "customfonthbox") ;
THROW_IF_FAIL (custom_font_box) ;
+
+ always_reload_radio_button =
+ ui_utils::get_widget_from_glade<Gtk::RadioButton>
+ (glade, "reloadradiobutton") ;
+ THROW_IF_FAIL (always_reload_radio_button);
+ always_reload_radio_button->signal_toggled ().connect (sigc::mem_fun
+ (*this,
+ &PreferencesDialog::Priv::on_reload_files_toggled_signal)) ;
+
+ never_reload_radio_button =
+ ui_utils::get_widget_from_glade<Gtk::RadioButton>
+ (glade, "neverreloadradiobutton") ;
+ THROW_IF_FAIL (never_reload_radio_button);
+ never_reload_radio_button->signal_toggled ().connect (sigc::mem_fun
+ (*this,
+ &PreferencesDialog::Priv::on_reload_files_toggled_signal)) ;
+
+ confirm_reload_radio_button =
+ ui_utils::get_widget_from_glade<Gtk::RadioButton>
+ (glade, "confirmreloadradiobutton") ;
+ THROW_IF_FAIL (confirm_reload_radio_button);
+ confirm_reload_radio_button->signal_toggled ().connect (sigc::mem_fun
+ (*this,
+ &PreferencesDialog::Priv::on_reload_files_toggled_signal)) ;
}
void collect_source_dirs ()
@@ -267,8 +303,7 @@
}
}
conf_manager ().set_key_value
- ("/apps/nemiver/dbgperspective/source-search-dirs",
- source_dirs_str) ;
+ (CONF_KEY_NEMIVER_SOURCE_DIRS, source_dirs_str) ;
}
void update_show_source_line_numbers_key ()
@@ -276,8 +311,7 @@
THROW_IF_FAIL (show_lines_check_button) ;
bool is_on = show_lines_check_button->get_active () ;
conf_manager ().set_key_value
- ("/apps/nemiver/dbgperspective/show-source-line-numbers",
- is_on) ;
+ (CONF_KEY_SHOW_SOURCE_LINE_NUMBERS, is_on) ;
}
void update_highlight_source_keys ()
@@ -285,7 +319,7 @@
THROW_IF_FAIL (highlight_source_check_button) ;
bool is_on = highlight_source_check_button->get_active () ;
conf_manager ().set_key_value
- ("/apps/nemiver/dbgperspective/highlight-source-code",
+ (CONF_KEY_HIGHLIGHT_SOURCE_CODE,
is_on) ;
}
@@ -293,8 +327,7 @@
{
UString paths_str ;
if (!conf_manager ().get_key_value
- ("/apps/nemiver/dbgperspective/source-search-dirs",
- paths_str)) {
+ (CONF_KEY_NEMIVER_SOURCE_DIRS, paths_str)) {
return ;
}
if (paths_str == "") {return;}
@@ -307,8 +340,7 @@
THROW_IF_FAIL (system_font_check_button) ;
bool is_on = system_font_check_button->get_active () ;
conf_manager ().set_key_value
- ("/apps/nemiver/dbgperspective/use-system-font",
- is_on) ;
+ (CONF_KEY_USE_SYSTEM_FONT, is_on) ;
}
void update_custom_font_key ()
@@ -316,8 +348,29 @@
THROW_IF_FAIL (custom_font_button) ;
UString font_name = custom_font_button->get_font_name () ;
conf_manager ().set_key_value
- ("/apps/nemiver/dbgperspective/custom-font-name",
- font_name) ;
+ (CONF_KEY_CUSTOM_FONT_NAME, font_name) ;
+ }
+
+ void update_reload_files_keys ()
+ {
+ THROW_IF_FAIL (always_reload_radio_button);
+ THROW_IF_FAIL (never_reload_radio_button);
+ THROW_IF_FAIL (confirm_reload_radio_button);
+
+ if (always_reload_radio_button->get_active ()) {
+ conf_manager ().set_key_value
+ (CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE, false);
+ conf_manager ().set_key_value
+ (CONF_KEY_ALLOW_AUTO_RELOAD_SOURCE, true);
+ } else if (never_reload_radio_button->get_active ()) {
+ conf_manager ().set_key_value
+ (CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE, false);
+ conf_manager ().set_key_value
+ (CONF_KEY_ALLOW_AUTO_RELOAD_SOURCE, false);
+ } else {
+ conf_manager ().set_key_value
+ (CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE, true);
+ }
}
void update_widget_from_editor_keys ()
@@ -330,8 +383,7 @@
bool is_on=true;
if (!conf_manager ().get_key_value
- ("/apps/nemiver/dbgperspective/show-source-line-numbers",
- is_on)) {
+ (CONF_KEY_SHOW_SOURCE_LINE_NUMBERS, is_on)) {
LOG_ERROR ("failed to get gconf key") ;
} else {
show_lines_check_button->set_active (is_on) ;
@@ -339,8 +391,7 @@
is_on=true ;
if (!conf_manager ().get_key_value
- ("/apps/nemiver/dbgperspective/highlight-source-code",
- is_on)) {
+ (CONF_KEY_HIGHLIGHT_SOURCE_CODE, is_on)) {
LOG_ERROR ("failed to get gconf key") ;
} else {
highlight_source_check_button->set_active (is_on) ;
@@ -348,7 +399,7 @@
is_on = true;
if (!conf_manager ().get_key_value
- ("/apps/nemiver/dbgperspective/use-system-font", is_on)) {
+ (CONF_KEY_USE_SYSTEM_FONT, is_on)) {
LOG_ERROR ("failed to get gconf key") ;
} else {
system_font_check_button->set_active (is_on) ;
@@ -356,11 +407,28 @@
}
UString font_name;
if (!conf_manager ().get_key_value
- ("/apps/nemiver/dbgperspective/custom-font-name", font_name)) {
+ (CONF_KEY_CUSTOM_FONT_NAME, font_name)) {
LOG_ERROR ("failed to get gconf key") ;
} else {
custom_font_button->set_font_name (font_name);
}
+
+ bool confirm_reload = true, always_reload = false;
+ if (!conf_manager ().get_key_value
+ (CONF_KEY_CONFIRM_BEFORE_RELOAD_SOURCE, confirm_reload)) {
+ LOG_ERROR ("failed to get gconf key");
+ }
+ if (!conf_manager ().get_key_value
+ (CONF_KEY_ALLOW_AUTO_RELOAD_SOURCE, always_reload)) {
+ LOG_ERROR ("failed to get gconf key");
+ }
+ if (confirm_reload) {
+ confirm_reload_radio_button->set_active ();
+ } else if (always_reload) {
+ always_reload_radio_button->set_active ();
+ } else {
+ never_reload_radio_button->set_active ();
+ }
}
void update_widget_from_conf ()
Modified: trunk/src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas
==============================================================================
--- trunk/src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas (original)
+++ trunk/src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas Sun Jul 27 13:02:53 2008
@@ -54,8 +54,8 @@
<default>true</default>
<locale name="C">
<short>Do not automatically reload the source file</short>
- <long>If the user choosed to never been asked about re-loading
- source file and if this key is set to true, do re-load the source file
+ <long>If the user chooses not to be asked about re-loading changed
+ source files and if this key is set to true, re-load the source file
automatically.</long>
</locale>
</schema>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]