summaryrefslogtreecommitdiffstats
path: root/src/gui/connectionDialog.cpp
diff options
context:
space:
mode:
authorSebastian2010-05-12 19:42:27 +0200
committerSebastian2010-05-12 19:42:27 +0200
commitce3329047d378a14006ce74ec273ac59e3375303 (patch)
tree782430f270b4c7aca1b35d5b7813518e3797c555 /src/gui/connectionDialog.cpp
downloadpvs-ce3329047d378a14006ce74ec273ac59e3375303.tar.gz
pvs-ce3329047d378a14006ce74ec273ac59e3375303.tar.xz
pvs-ce3329047d378a14006ce74ec273ac59e3375303.zip
initial import of latest svn version
Diffstat (limited to 'src/gui/connectionDialog.cpp')
-rw-r--r--src/gui/connectionDialog.cpp216
1 files changed, 216 insertions, 0 deletions
diff --git a/src/gui/connectionDialog.cpp b/src/gui/connectionDialog.cpp
new file mode 100644
index 0000000..8c5b743
--- /dev/null
+++ b/src/gui/connectionDialog.cpp
@@ -0,0 +1,216 @@
+#include "connectionDialog.h"
+
+ConnectionDialog::ConnectionDialog(MainWindow* newParent, const Glib::ustring& title)
+ : buttonOK("OK"),
+ buttonCancel("Cancel")
+
+{
+ set_default_size(300, 100);
+ if (newParent)
+ myParent = newParent;
+ else
+ ; // handle errors
+
+ set_title(title);
+ buttonOK.signal_clicked().connect(sigc::mem_fun(*this, &ConnectionDialog::on_button_ok_click));
+ buttonCancel.signal_clicked().connect(sigc::mem_fun(*this, &ConnectionDialog::on_button_cancel_click));
+
+
+ windowBox.pack_start(contentBox, Gtk::PACK_SHRINK);
+ windowBox.pack_start(buttonBox, Gtk::PACK_SHRINK);
+ buttonBox.pack_end(buttonOK, Gtk::PACK_SHRINK);
+ buttonBox.pack_end(buttonCancel, Gtk::PACK_SHRINK);
+
+
+ add(windowBox);
+ show_all_children();
+}
+
+ConnectionDialog::~ConnectionDialog()
+{}
+
+void ConnectionDialog::on_button_ok_click()
+{
+ hide();
+}
+
+void ConnectionDialog::on_button_cancel_click()
+{
+ hide();
+}
+
+
+
+PasswordDialog::PasswordDialog(MainWindow* newParent, const Glib::ustring& title, QString* newTargetPW)
+ : ConnectionDialog(newParent, title),
+ frameIP(*newTargetPW),
+ targetPW(newTargetPW)
+
+{
+ *newTargetPW = "";
+ entryPW.signal_activate().connect(sigc::mem_fun(*this, &PasswordDialog::on_enter_password));
+
+ frameIP.add(entryPW);
+ contentBox.add(frameIP);
+
+ show_all_children();
+
+}
+
+PasswordDialog::~PasswordDialog()
+{}
+
+void PasswordDialog::on_button_ok_click()
+{
+ if (password != "") // there was a password set by pressing enter in the pw-entry
+ {
+ *targetPW = password;
+ ConnectionDialog::on_button_ok_click();
+ }
+ else // it was just typed or not supplied
+ {
+ *targetPW = entryPW.get_text();
+ if (*targetPW != "")
+ ConnectionDialog::on_button_ok_click();
+
+ }
+
+}
+
+void PasswordDialog::on_button_cancel_click()
+{
+ *targetPW = "";
+ ConnectionDialog::on_button_cancel_click();
+}
+
+void PasswordDialog::on_enter_password()
+{
+ password = entryPW.get_text();
+ if (password != "")
+ on_button_ok_click();
+}
+
+NewConDialog::NewConDialog(MainWindow* newParent, const Glib::ustring& title)
+ : ConnectionDialog(newParent, title),
+ frameIP("Host"),
+ framePW("Password"),
+ buttonFromFile("From File")
+{
+ entryIP.signal_activate().connect(sigc::mem_fun(*this, &NewConDialog::on_enter_IP));
+ entryPW.signal_activate().connect(sigc::mem_fun(*this, &NewConDialog::on_enter_password));
+ buttonFromFile.signal_clicked().connect(sigc::mem_fun(*this, &NewConDialog::on_button_fromFile_click));
+
+ frameIP.add(entryIP);
+ framePW.add(entryPW);
+ contentBox.add(frameIP);
+ contentBox.add(framePW);
+ contentBox.add(buttonFromFile);
+ show_all_children();
+}
+
+NewConDialog::~NewConDialog()
+{}
+
+void NewConDialog::on_enter_password()
+{
+ if (entryIP.get_text() != "") // if the IP/hostname was already supplied, we proceed without putting the focus
+ // back on the IP field.
+ // we also proceed if theres no password given, because theres either no password
+ // needed or the password dialog will take care of that later on
+ on_button_ok_click();
+ else
+ entryIP.grab_focus();
+}
+
+void NewConDialog::on_enter_IP()
+{
+ if (entryIP.get_text() != "")
+ {
+ if (entryPW.get_text() == "") // if no password was supplied we put the focus on the password
+ entryPW.grab_focus();
+ else
+ on_button_ok_click();
+ }
+ else
+ return;
+}
+
+
+void NewConDialog::on_button_ok_click()
+{
+ connection_IP = entryIP.get_text();
+ if (connection_IP != "") // we only proceed if the IP/hostname field isnt empty
+ {
+ connection_password = entryPW.get_text();
+ QString infoLine;
+ infoLine = connection_IP;
+ if (connection_password.length() > 0) // if the password was supplied, we assemble the string
+ // with the necessary information
+ {
+ infoLine.append(" ");
+ infoLine.append(connection_password);
+ }
+
+ // VNCConnectInfo* newCon = getConInfo(infoLine);
+
+// myParent->addConnection(newCon);
+
+ ConnectionDialog::on_button_ok_click();
+ }
+}
+
+void NewConDialog::on_button_fromFile_click()
+{
+// myParent->readClientsFromFile();
+ ConnectionDialog::on_button_ok_click();
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MessageDialog::MessageDialog(MainWindow* newParent, const Glib::ustring& title, QString* newMessage)
+ : ConnectionDialog(newParent, title),
+ frameMsg("Message")
+{
+ message = newMessage;
+ entryMsg.signal_activate().connect(sigc::mem_fun(*this, &MessageDialog::on_enter_message));
+
+ frameMsg.add(entryMsg);
+
+ contentBox.add(frameMsg);
+
+ show_all_children();
+}
+
+MessageDialog::~MessageDialog()
+{}
+
+void MessageDialog::on_enter_message()
+{
+ if (entryMsg.get_text() != "")
+ {
+ on_button_ok_click();
+ }
+}
+
+
+void MessageDialog::on_button_ok_click()
+{
+ if (entryMsg.get_text().empty())
+ return;
+
+ *message = entryMsg.get_text();
+
+ ConnectionDialog::on_button_ok_click();
+}