summaryrefslogtreecommitdiffstats
path: root/src/gui/selectnicform.cpp
diff options
context:
space:
mode:
authorLubos Dolezel <lubos@dolezel.info>2015-06-02 19:32:25 +0200
committerLubos Dolezel <lubos@dolezel.info>2015-06-02 19:32:25 +0200
commitab83223e1b5c7d34855d091e0c868462bd9452d1 (patch)
tree0890102c34727fcceea3d4e4c89ca560988b7f6d /src/gui/selectnicform.cpp
parentaa9b140a7bb49eb9666678bcbbb544cc536bd6de (diff)
downloadtwinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar
twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar.gz
twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar.lz
twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.tar.xz
twinkle-ab83223e1b5c7d34855d091e0c868462bd9452d1.zip
Twinkle now compiles with Qt4 uic, but crashes at runtime (due to GUI calls from outside the main thread)
Diffstat (limited to 'src/gui/selectnicform.cpp')
-rw-r--r--src/gui/selectnicform.cpp120
1 files changed, 120 insertions, 0 deletions
diff --git a/src/gui/selectnicform.cpp b/src/gui/selectnicform.cpp
new file mode 100644
index 0000000..735542b
--- /dev/null
+++ b/src/gui/selectnicform.cpp
@@ -0,0 +1,120 @@
+//Added by qt3to4:
+#include <QPixmap>
+/*
+ Copyright (C) 2005-2009 Michel de Boer <michel@twinklephone.com>
+
+ This program 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 of the License, or
+ (at your option) any later version.
+
+ This program 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 this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#include "gui.h"
+#include <QMessageBox>
+#include "sys_settings.h"
+#include "selectnicform.h"
+/*
+ * Constructs a SelectNicForm as a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'.
+ *
+ * The dialog will by default be modeless, unless you set 'modal' to
+ * true to construct a modal dialog.
+ */
+SelectNicForm::SelectNicForm(QWidget* parent, const char* name, bool modal, Qt::WindowFlags fl)
+ : QDialog(parent, name, modal, fl)
+{
+ setupUi(this);
+
+ init();
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+SelectNicForm::~SelectNicForm()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * Sets the strings of the subwidgets using the current
+ * language.
+ */
+void SelectNicForm::languageChange()
+{
+ retranslateUi(this);
+}
+
+
+void SelectNicForm::init()
+{
+ idxDefault = -1;
+}
+
+void SelectNicForm::setAsDefault(bool setIp)
+{
+#if 0
+ // DEPRECATED
+ // Only show the information when the default button is
+ // pressed for the first time.
+ if (idxDefault == -1) {
+ QMessageBox::information(this, PRODUCT_NAME, tr(
+ "If you want to remove or "
+ "change the default at a later time, you can do that "
+ "via the system settings."));
+ }
+
+ // Store current index as the changeItem method also changes
+ // the current index as a side effect.
+ int idxNewDefault = nicListBox->currentItem();
+
+ // Restore pixmap of the old default
+ if (idxDefault != -1) {
+ nicListBox->changeItem(
+ QPixmap(":/icons/images/kcmpci16.png"),
+ nicListBox->text(idxDefault),
+ idxDefault);
+ }
+
+ // Set pixmap of the default
+ idxDefault = idxNewDefault;
+ nicListBox->changeItem(
+ QPixmap(":/icons/images/twinkle16.png"),
+ nicListBox->text(idxDefault),
+ idxDefault);
+
+ // Write default to system settings
+ int pos = nicListBox->currentText().findRev(':');
+ if (setIp) {
+ sys_config->set_start_user_host(nicListBox->currentText().mid(pos + 1).ascii());
+ sys_config->set_start_user_nic("");
+ } else {
+ sys_config->set_start_user_nic(nicListBox->currentText().left(pos).ascii());
+ sys_config->set_start_user_host("");
+ }
+ string error_msg;
+ if (!sys_config->write_config(error_msg)) {
+ // Failed to write config file
+ ((t_gui *)ui)->cb_show_msg(this, error_msg, MSG_CRITICAL);
+ }
+#endif
+}
+
+void SelectNicForm::setAsDefaultIp()
+{
+ setAsDefault(true);
+}
+
+void SelectNicForm::setAsDefaultNic()
+{
+ setAsDefault(false);
+}