summaryrefslogtreecommitdiffstats
path: root/src/jabber_whiteboard/session-file-selector.cpp
diff options
context:
space:
mode:
authorMenTaLguY <mental@rydia.net>2006-01-16 02:36:01 +0000
committermental <mental@users.sourceforge.net>2006-01-16 02:36:01 +0000
commit179fa413b047bede6e32109e2ce82437c5fb8d34 (patch)
treea5a6ac2c1708bd02288fbd8edb2ff500ff2e0916 /src/jabber_whiteboard/session-file-selector.cpp
downloadinkscape-179fa413b047bede6e32109e2ce82437c5fb8d34.tar.gz
inkscape-179fa413b047bede6e32109e2ce82437c5fb8d34.zip
moving trunk for module inkscape
(bzr r1)
Diffstat (limited to 'src/jabber_whiteboard/session-file-selector.cpp')
-rw-r--r--src/jabber_whiteboard/session-file-selector.cpp90
1 files changed, 90 insertions, 0 deletions
diff --git a/src/jabber_whiteboard/session-file-selector.cpp b/src/jabber_whiteboard/session-file-selector.cpp
new file mode 100644
index 000000000..85a3a3ec1
--- /dev/null
+++ b/src/jabber_whiteboard/session-file-selector.cpp
@@ -0,0 +1,90 @@
+/**
+ * Session file selector widget
+ *
+ * Authors:
+ * David Yip <yipdw@rose-hulman.edu>
+ *
+ * Copyright (c) 2005 Authors
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+#include "session-file-selector.h"
+
+#include <glibmm/i18n.h>
+#include <gtkmm/filechooserdialog.h>
+#include <gtkmm/stock.h>
+
+namespace Inkscape {
+
+namespace Whiteboard {
+
+SessionFileSelectorBox::SessionFileSelectorBox() :
+ _usesessionfile(_("_Write session file:"), true)
+{
+ this->_construct();
+}
+
+SessionFileSelectorBox::~SessionFileSelectorBox()
+{
+
+}
+
+bool
+SessionFileSelectorBox::isSelected()
+{
+ return this->_usesessionfile.get_active();
+}
+
+Glib::ustring const&
+SessionFileSelectorBox::getFilename()
+{
+ return this->_filename;
+}
+
+void
+SessionFileSelectorBox::_construct()
+{
+ this->_getfilepath.set_label("...");
+
+ this->pack_start(this->_usesessionfile);
+ this->pack_start(this->_sessionfile);
+ this->pack_end(this->_getfilepath);
+
+ this->_getfilepath.signal_clicked().connect(sigc::mem_fun(*this, &SessionFileSelectorBox::_callback));
+}
+
+void
+SessionFileSelectorBox::_callback() {
+ Gtk::FileChooserDialog sessionfiledlg(_("Select a location and filename"), Gtk::FILE_CHOOSER_ACTION_SAVE);
+ sessionfiledlg.add_button(Gtk::Stock::CANCEL, Gtk::RESPONSE_CANCEL);
+ sessionfiledlg.add_button(_("Set filename"), Gtk::RESPONSE_OK);
+ int result = sessionfiledlg.run();
+ switch (result) {
+ case Gtk::RESPONSE_OK:
+ {
+ this->_usesessionfile.set_active();
+ this->_sessionfile.set_text(sessionfiledlg.get_filename());
+ this->_filename = sessionfiledlg.get_filename();
+ break;
+ }
+ case Gtk::RESPONSE_CANCEL:
+ default:
+ break;
+ }
+}
+
+}
+
+}
+
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/