diff --git a/CHANGELOG b/CHANGELOG
index 4ee9b3d..a484197 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,15 +1,17 @@
Ver.1.2.0:
++ [all] added icons
+ [gui] added suppoort of macvlan
+ [gui] added ability to remove profile
+ [gui] added support of hidden wifi network
+ [gui] added contextual menu to tables
+* [all] small changes in the project architecture
* [plasmoid] edited configuration interface
Ver.1.1.0 (netctl-1.7 update):
+ [gui] added frequency
+ [plasmoid] added menu title
-* [gui] changed definition if profile is enabled]
* [dataengine] changed definition if profile is enabled
+* [gui] changed definition if profile is enabled
Ver.1.0.6:
* [gui] fix error checking
diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt
index ed3dbf6..9cd01a4 100644
--- a/sources/CMakeLists.txt
+++ b/sources/CMakeLists.txt
@@ -19,6 +19,9 @@ option (USE_QT5 "Use Qt5 instead of Qt4" ON)
option (BUILD_GUI "Build GUI" ON)
option (BUILD_DATAENGINE "Build data engine" ON)
option (BUILD_PLASMOID "Build plasmoid" ON)
+if (BUILD_PLASMOID)
+ set (BUILD_DATAENGINE ON)
+endif ()
# flags
if (CMAKE_COMPILER_IS_GNUCXX)
@@ -30,12 +33,11 @@ else ()
message (STATUS "Unknown compiler")
endif ()
-add_subdirectory (icons)
-
-if (BUILD_PLASMOID)
- set (BUILD_DATAENGINE ON)
-endif ()
+# resources
+set (PROJECT_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/resources)
+add_subdirectory (${PROJECT_RESOURCE_DIR})
+# components
if (BUILD_GUI)
add_subdirectory (gui)
endif ()
diff --git a/sources/gui/CMakeLists.txt b/sources/gui/CMakeLists.txt
index 78fb3cc..dca2880 100644
--- a/sources/gui/CMakeLists.txt
+++ b/sources/gui/CMakeLists.txt
@@ -5,7 +5,7 @@ message (STATUS "Subproject ${SUBPROJECT}")
# set directories
set (SUBPROJECT_BINARY_DIR bin)
set (SUBPROJECT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
-set (SUBPROJECT_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/resources)
+set (SUBPROJECT_RESOURCE_DIR ${PROJECT_RESOURCE_DIR})
set (SUBPROJECT_TRANSLATION_DIR ${SUBPROJECT_RESOURCE_DIR}/translations)
# executable path
set (EXECUTABLE_OUTPUT_PATH ${SUBPROJECT_BINARY_DIR})
diff --git a/sources/gui/resources/resources.qrc b/sources/gui/resources/resources.qrc
deleted file mode 100644
index e327f49..0000000
--- a/sources/gui/resources/resources.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- translations/english.qm
- translations/russian.qm
-
-
diff --git a/sources/gui/src/mainwindow.cpp b/sources/gui/src/mainwindow.cpp
index df0a17f..76519c3 100644
--- a/sources/gui/src/mainwindow.cpp
+++ b/sources/gui/src/mainwindow.cpp
@@ -90,6 +90,7 @@ MainWindow::MainWindow(QWidget *parent, const bool defaultSettings, const bool d
wpaCommand = new WpaSup(this, debug, configuration);
createActions();
+ setIconsToButtons();
updateTabs(ui->tabWidget->currentIndex());
ui->statusBar->showMessage(QApplication::translate("MainWindow", "Ready"));
}
@@ -158,7 +159,7 @@ void MainWindow::createActions()
connect(ui->actionSettings, SIGNAL(triggered(bool)), settingsWin, SLOT(showWindow()));
connect(ui->actionQuit, SIGNAL(triggered(bool)), this, SLOT(close()));
- // main page events
+ // main tab events
connect(ui->pushButton_mainRefresh, SIGNAL(clicked(bool)), this, SLOT(updateMainTab()));
connect(ui->pushButton_mainRemove, SIGNAL(clicked(bool)), this, SLOT(mainTabRemoveProfile()));
connect(ui->pushButton_mainEnable, SIGNAL(clicked(bool)), this, SLOT(mainTabEnableProfile()));
@@ -176,7 +177,7 @@ void MainWindow::createActions()
connect(ui->pushButton_profileLoad, SIGNAL(clicked(bool)), this, SLOT(profileTabLoadProfile()));
connect(generalWid->connectionType, SIGNAL(currentIndexChanged(QString)), this, SLOT(profileTabChangeState(QString)));
- // wifi page events
+ // wifi tab events
connect(ui->pushButton_wifiRefresh, SIGNAL(clicked(bool)), this, SLOT(updateWifiTab()));
connect(ui->pushButton_wifiStart, SIGNAL(clicked(bool)), this, SLOT(wifiTabStart()));
connect(ui->tableWidget_wifi, SIGNAL(itemActivated(QTableWidgetItem *)), this, SLOT(wifiTabStart()));
@@ -185,6 +186,32 @@ void MainWindow::createActions()
}
+void MainWindow::setIconsToButtons()
+{
+ // tab widget
+ ui->tabWidget->setTabIcon(0, QIcon(":icon"));
+ ui->tabWidget->setTabIcon(1, QIcon::fromTheme("document-new"));
+ ui->tabWidget->setTabIcon(2, QIcon(":wifi"));
+
+ // main tab
+ ui->pushButton_mainRefresh->setIcon(QIcon::fromTheme("stock-refresh"));
+ ui->pushButton_mainRemove->setIcon(QIcon::fromTheme("edit-delete"));
+// ui->pushButton_mainEnable->setIcon(QIcon(""));
+// ui->pushButton_mainRestart->setIcon(QIcon(""));
+// ui->pushButton_mainStart->setIcon(QIcon(""));
+
+ // profile tab
+ ui->pushButton_profileClear->setIcon(QIcon::fromTheme("edit-clear"));
+ ui->pushButton_profileSave->setIcon(QIcon::fromTheme("document-save"));
+ ui->pushButton_profileLoad->setIcon(QIcon::fromTheme("document-open"));
+
+
+ // wifi tab
+ ui->pushButton_wifiRefresh->setIcon(QIcon::fromTheme("stock-refresh"));
+// ui->pushButton_wifiStart->setIcon(QIcon(""));
+}
+
+
// window slots
void MainWindow::updateTabs(const int tab)
{
@@ -317,12 +344,17 @@ void MainWindow::mainTabContextualMenu(const QPoint &pos)
// create menu
QMenu menu(this);
QAction *refreshTable = menu.addAction(QApplication::translate("MainWindow", "Refresh"));
+ refreshTable->setIcon(QIcon::fromTheme("stock-refresh"));
menu.addSeparator();
QAction *startProfile = menu.addAction(QApplication::translate("MainWindow", "Start profile"));
+// startProfile->setIcon(QIcon(""));
QAction *restartProfile = menu.addAction(QApplication::translate("MainWindow", "Restart profile"));
+// restartProfile->setIcon(QIcon(""));
QAction *enableProfile = menu.addAction(QApplication::translate("MainWindow", "Enable profile"));
+// enableProfile->setIcon(QIcon(""));
menu.addSeparator();
QAction *removeProfile = menu.addAction(QApplication::translate("MainWindow", "Remove profile"));
+ removeProfile->setIcon(QIcon::fromTheme("edit-delete"));
// set text
QString item = ui->tableWidget_main->item(ui->tableWidget_main->currentItem()->row(), 2)->text();
@@ -961,8 +993,10 @@ void MainWindow::wifiTabContextualMenu(const QPoint &pos)
// create menu
QMenu menu(this);
QAction *refreshTable = menu.addAction(QApplication::translate("MainWindow", "Refresh"));
+ refreshTable->setIcon(QIcon::fromTheme("stock-refresh"));
menu.addSeparator();
QAction *startWifi = menu.addAction(QApplication::translate("MainWindow", "Start WiFi"));
+// startWifi->setIcon(QIcon(""));
// set text
QString item = ui->tableWidget_wifi->item(ui->tableWidget_wifi->currentItem()->row(), 1)->text();
diff --git a/sources/gui/src/mainwindow.h b/sources/gui/src/mainwindow.h
index a076167..350db88 100644
--- a/sources/gui/src/mainwindow.h
+++ b/sources/gui/src/mainwindow.h
@@ -109,6 +109,7 @@ private:
bool checkExternalApps(const QString apps);
bool checkState(const QString state, const QString item);
void createActions();
+ void setIconsToButtons();
bool debug;
// configuration
QMap configuration;
diff --git a/sources/gui/src/mainwindow.ui b/sources/gui/src/mainwindow.ui
index c94ba33..4b82b90 100644
--- a/sources/gui/src/mainwindow.ui
+++ b/sources/gui/src/mainwindow.ui
@@ -6,8 +6,8 @@
0
0
- 489
- 517
+ 487
+ 515
@@ -203,8 +203,8 @@
0
0
- 457
- 359
+ 96
+ 26
@@ -371,7 +371,7 @@
0
0
- 489
+ 487
22
@@ -386,6 +386,9 @@
+
+
+
Settings
@@ -394,6 +397,9 @@
+
+
+
Quit
diff --git a/sources/plasmoid/CMakeLists.txt b/sources/plasmoid/CMakeLists.txt
index bc0a132..1c1f081 100644
--- a/sources/plasmoid/CMakeLists.txt
+++ b/sources/plasmoid/CMakeLists.txt
@@ -1,6 +1,8 @@
# set project name
set (SUBPROJECT plasma_applet_netctl)
message (STATUS "Subproject ${SUBPROJECT}")
+# find resources
+set (RESOURCES ${PROJECT_RESOURCE_DIR}/resources.qrc)
# find required libaries
find_package (KDE4 REQUIRED)
@@ -23,8 +25,9 @@ file (GLOB SUBPROJECT_UI *.ui)
configure_file (${SUBPROJECT_DESKTOP_IN} ${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT_DESKTOP})
# make
+qt4_add_resources (QRC_SOURCES ${RESOURCES})
kde4_add_ui_files (SUBPROJECT_SOURCE ${SUBPROJECT_UI})
-kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE})
+kde4_add_plugin (${PLUGIN_NAME} ${SUBPROJECT_SOURCE} ${QRC_SOURCES})
target_link_libraries (${PLUGIN_NAME} ${KDE4_PLASMA_LIBS} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS})
# install
diff --git a/sources/plasmoid/netctl.cpp b/sources/plasmoid/netctl.cpp
index be927d6..2dec490 100644
--- a/sources/plasmoid/netctl.cpp
+++ b/sources/plasmoid/netctl.cpp
@@ -184,14 +184,14 @@ QList Netctl::contextualActions()
if (status) {
contextMenu[QString("start")]->setText(i18n("Start another profile"));
contextMenu[QString("stop")]->setVisible(true);
- contextMenu[QString("stop")]->setText(i18n("Stop ") + info[QString("name")]);
+ contextMenu[QString("stop")]->setText(i18n("Stop %1", info[QString("name")]));
contextMenu[QString("restart")]->setVisible(true);
- contextMenu[QString("restart")]->setText(i18n("Restart ") + info[QString("name")]);
+ contextMenu[QString("restart")]->setText(i18n("Restart %1", info[QString("name")]));
contextMenu[QString("enable")]->setVisible(true);
if (info[QString("status")].contains(QString("enabled")))
- contextMenu[QString("enable")]->setText(i18n("Disable ") + info[QString("name")]);
+ contextMenu[QString("enable")]->setText(i18n("Disable %1", info[QString("name")]));
else
- contextMenu[QString("enable")]->setText(i18n("Enable ") + info[QString("name")]);
+ contextMenu[QString("enable")]->setText(i18n("Enable %1", info[QString("name")]));
}
else {
contextMenu[QString("start")]->setText(i18n("Start profile"));
@@ -222,6 +222,7 @@ void Netctl::createActions()
menuActions.append(contextMenu[QString("title")]);
contextMenu[QString("start")] = new QAction(i18n("Start profile"), this);
+// contextMenu[QString("start")]->setIcon(QIcon(""));
startProfileMenu = new QMenu(NULL);
contextMenu[QString("start")]->setMenu(startProfileMenu);
connect(startProfileMenu, SIGNAL(triggered(QAction *)), this,
@@ -229,18 +230,22 @@ void Netctl::createActions()
menuActions.append(contextMenu[QString("start")]);
contextMenu[QString("stop")] = new QAction(i18n("Stop profile"), this);
+// contextMenu[QString("stop")]->setIcon(QIcon(""));
connect(contextMenu[QString("stop")], SIGNAL(triggered(bool)), this, SLOT(stopProfileSlot()));
menuActions.append(contextMenu[QString("stop")]);
contextMenu[QString("restart")] = new QAction(i18n("Restart profile"), this);
+// contextMenu[QString("restart")]->setIcon(QIcon(""));
connect(contextMenu[QString("restart")], SIGNAL(triggered(bool)), this, SLOT(restartProfileSlot()));
menuActions.append(contextMenu[QString("restart")]);
contextMenu[QString("enable")] = new QAction(i18n("Enable profile"), this);
+// contextMenu[QString("enable")]->setIcon(QIcon(""));
connect(contextMenu[QString("enable")], SIGNAL(triggered(bool)), this, SLOT(enableProfileSlot()));
menuActions.append(contextMenu[QString("enable")]);
contextMenu[QString("wifi")] = new QAction(i18n("Show WiFi menu"), this);
+ contextMenu[QString("wifi")]->setIcon(QIcon(":wifi"));
connect(contextMenu[QString("wifi")], SIGNAL(triggered(bool)), this, SLOT(showWifi()));
menuActions.append(contextMenu[QString("wifi")]);
}
diff --git a/sources/icons/CMakeLists.txt b/sources/resources/CMakeLists.txt
similarity index 100%
rename from sources/icons/CMakeLists.txt
rename to sources/resources/CMakeLists.txt
diff --git a/sources/icons/icon-plasmoid.png b/sources/resources/icon-plasmoid.png
similarity index 100%
rename from sources/icons/icon-plasmoid.png
rename to sources/resources/icon-plasmoid.png
diff --git a/sources/icons/icon.png b/sources/resources/icon.png
similarity index 100%
rename from sources/icons/icon.png
rename to sources/resources/icon.png
diff --git a/sources/icons/network-idle-64x64.png b/sources/resources/network-idle-64x64.png
similarity index 100%
rename from sources/icons/network-idle-64x64.png
rename to sources/resources/network-idle-64x64.png
diff --git a/sources/icons/network-offline-64x64.png b/sources/resources/network-offline-64x64.png
similarity index 100%
rename from sources/icons/network-offline-64x64.png
rename to sources/resources/network-offline-64x64.png
diff --git a/sources/resources/resources.qrc b/sources/resources/resources.qrc
new file mode 100644
index 0000000..20ef7fd
--- /dev/null
+++ b/sources/resources/resources.qrc
@@ -0,0 +1,10 @@
+
+
+
+ translations/english.qm
+ translations/russian.qm
+
+ icon.png
+ wifi.png
+
+
diff --git a/sources/gui/resources/translations/english.ts b/sources/resources/translations/english.ts
similarity index 100%
rename from sources/gui/resources/translations/english.ts
rename to sources/resources/translations/english.ts
diff --git a/sources/gui/resources/translations/russian.ts b/sources/resources/translations/russian.ts
similarity index 100%
rename from sources/gui/resources/translations/russian.ts
rename to sources/resources/translations/russian.ts
diff --git a/sources/resources/wifi.png b/sources/resources/wifi.png
new file mode 100644
index 0000000..6f71c9f
Binary files /dev/null and b/sources/resources/wifi.png differ