DrewTechs
3 years ago
5 changed files with 460 additions and 0 deletions
@ -0,0 +1,110 @@ |
|||||
|
#include "addApplicationLauncher.h" |
||||
|
#include "ui_addApplicationLauncher.h" |
||||
|
|
||||
|
AddApplicationLauncher::AddApplicationLauncher(QWidget *parent) : |
||||
|
QDialog(parent), |
||||
|
ui(new Ui::AddApplicationLauncher) |
||||
|
{ |
||||
|
ApplicationLaunchers* launcher = new ApplicationLaunchers(); |
||||
|
setApplicationLauncher(launcher); |
||||
|
ui->setupUi(this); |
||||
|
} |
||||
|
|
||||
|
AddApplicationLauncher::AddApplicationLauncher(ApplicationLaunchers* launcher, QWidget *parent) : |
||||
|
QDialog(parent), |
||||
|
ui(new Ui::AddApplicationLauncher) |
||||
|
{ |
||||
|
setApplicationLauncher(launcher); |
||||
|
ui->setupUi(this); |
||||
|
init(); |
||||
|
} |
||||
|
|
||||
|
AddApplicationLauncher::~AddApplicationLauncher() |
||||
|
{ |
||||
|
delete ui; |
||||
|
} |
||||
|
void AddApplicationLauncher::init() |
||||
|
{ |
||||
|
ui->applicationName_Field->setText(applicationLauncher->getApplicationName()); |
||||
|
ui->applicationExtension_List->addItems(applicationLauncher->getApplicationExtensions()); |
||||
|
ui->applicationLocation_Field->setText(applicationLauncher->getApplicationLocation()); |
||||
|
} |
||||
|
void AddApplicationLauncher::appendApplicationExtension(QString applicationExtensionName) |
||||
|
{ |
||||
|
int idx = 0; |
||||
|
bool extensionExists = false; |
||||
|
for(idx = 0; idx < ui->applicationExtension_List->count(); idx++) |
||||
|
{ |
||||
|
if(ui->applicationExtension_List->item(idx)->text() == applicationExtensionName) |
||||
|
{ |
||||
|
extensionExists = true; |
||||
|
} |
||||
|
} |
||||
|
if(extensionExists == false) |
||||
|
{ |
||||
|
ui->applicationExtension_List->addItem(applicationExtensionName); // If Extension is already on the list, duplicates are not allowed.
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
void AddApplicationLauncher::removeApplicationExtension() |
||||
|
{ |
||||
|
int idx = ui->applicationExtension_List->currentIndex().row(); |
||||
|
if(idx >= 0) |
||||
|
{ |
||||
|
delete ui->applicationExtension_List->item(idx); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
/* Setter Functions */ |
||||
|
void AddApplicationLauncher::setApplicationLauncher(ApplicationLaunchers* newLauncher) |
||||
|
{ |
||||
|
applicationLauncher = newLauncher; |
||||
|
} |
||||
|
/* Getter Functions */ |
||||
|
ApplicationLaunchers* AddApplicationLauncher::getApplicationLauncher() |
||||
|
{ |
||||
|
return applicationLauncher; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
void AddApplicationLauncher::on_selectApplicationLocation_clicked() |
||||
|
{ |
||||
|
QFileDialog dialog(this); |
||||
|
dialog.setFileMode(QFileDialog::ExistingFile); |
||||
|
dialog.setNameFilter(tr("Executable File")); |
||||
|
QString fileName = dialog.getOpenFileName(this, tr("Open File"), "/usr/bin/", tr("Executable")); // Open Dialog
|
||||
|
ui->applicationLocation_Field->setText(fileName); |
||||
|
} |
||||
|
void AddApplicationLauncher::on_addExtension_Button_clicked() |
||||
|
{ |
||||
|
QString appExtensionName = ui->applicationExtension_Field->text(); |
||||
|
if(ui->applicationExtension_Field->text() != "") |
||||
|
{ |
||||
|
appendApplicationExtension(appExtensionName); |
||||
|
} |
||||
|
} |
||||
|
void AddApplicationLauncher::on_removeExtension_Button_clicked() |
||||
|
{ |
||||
|
removeApplicationExtension(); |
||||
|
} |
||||
|
|
||||
|
void AddApplicationLauncher::on_buttonBox_accepted() |
||||
|
{ |
||||
|
applicationLauncher->setApplicationName(ui->applicationName_Field->text()); |
||||
|
QStringList appExtensionList; |
||||
|
int idx = 0; |
||||
|
for(idx = 0; idx < ui->applicationExtension_List->count(); idx++) |
||||
|
{ |
||||
|
appExtensionList.append(ui->applicationExtension_List->item(idx)->text()); |
||||
|
} |
||||
|
applicationLauncher->setApplicationExtension(appExtensionList); |
||||
|
applicationLauncher->setApplicationLocation(ui->applicationLocation_Field->text()); |
||||
|
accept(); |
||||
|
} |
||||
|
|
||||
|
void AddApplicationLauncher::on_buttonBox_rejected() |
||||
|
{ |
||||
|
reject(); |
||||
|
} |
||||
|
|
@ -0,0 +1,41 @@ |
|||||
|
#ifndef ADDAPPLICATIONLAUNCHER_H |
||||
|
#define ADDAPPLICATIONLAUNCHER_H |
||||
|
|
||||
|
#include <QDialog> |
||||
|
#include <QFileDialog> |
||||
|
#include "applicationlaunchers.h" |
||||
|
|
||||
|
namespace Ui { |
||||
|
class AddApplicationLauncher; |
||||
|
} |
||||
|
|
||||
|
class AddApplicationLauncher : public QDialog |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
|
||||
|
public: |
||||
|
explicit AddApplicationLauncher(QWidget *parent = nullptr); |
||||
|
AddApplicationLauncher(ApplicationLaunchers* launcher, QWidget *parent = nullptr); |
||||
|
~AddApplicationLauncher(); |
||||
|
ApplicationLaunchers* applicationLauncher; |
||||
|
|
||||
|
void init(); |
||||
|
void appendApplicationExtension(QString applicationExtensionName); |
||||
|
void removeApplicationExtension(); |
||||
|
/* Setter Functions */ |
||||
|
void setApplicationLauncher(ApplicationLaunchers* newLauncher); |
||||
|
/* Getter Functions */ |
||||
|
ApplicationLaunchers* getApplicationLauncher(); |
||||
|
private slots: |
||||
|
void on_selectApplicationLocation_clicked(); |
||||
|
void on_addExtension_Button_clicked(); |
||||
|
void on_removeExtension_Button_clicked(); |
||||
|
|
||||
|
void on_buttonBox_accepted(); |
||||
|
void on_buttonBox_rejected(); |
||||
|
|
||||
|
private: |
||||
|
Ui::AddApplicationLauncher *ui; |
||||
|
}; |
||||
|
|
||||
|
#endif // ADDAPPLICATIONLAUNCHER_H
|
@ -0,0 +1,225 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<ui version="4.0"> |
||||
|
<class>AddApplicationLauncher</class> |
||||
|
<widget class="QDialog" name="AddApplicationLauncher"> |
||||
|
<property name="geometry"> |
||||
|
<rect> |
||||
|
<x>0</x> |
||||
|
<y>0</y> |
||||
|
<width>687</width> |
||||
|
<height>401</height> |
||||
|
</rect> |
||||
|
</property> |
||||
|
<property name="windowTitle"> |
||||
|
<string>Add New Application Launcher</string> |
||||
|
</property> |
||||
|
<layout class="QVBoxLayout" name="verticalLayout_3"> |
||||
|
<item> |
||||
|
<layout class="QHBoxLayout" name="horizontalLayout"> |
||||
|
<item> |
||||
|
<widget class="QLabel" name="label"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="text"> |
||||
|
<string>Application Name: </string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item> |
||||
|
<widget class="QLineEdit" name="applicationName_Field"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
<item> |
||||
|
<layout class="QVBoxLayout" name="verticalLayout"> |
||||
|
<item> |
||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2"> |
||||
|
<item> |
||||
|
<widget class="QLabel" name="label_2"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="text"> |
||||
|
<string>Application Location: </string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item> |
||||
|
<widget class="QLineEdit" name="applicationLocation_Field"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
<item> |
||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3"> |
||||
|
<item> |
||||
|
<spacer name="horizontalSpacer"> |
||||
|
<property name="orientation"> |
||||
|
<enum>Qt::Horizontal</enum> |
||||
|
</property> |
||||
|
<property name="sizeHint" stdset="0"> |
||||
|
<size> |
||||
|
<width>298</width> |
||||
|
<height>20</height> |
||||
|
</size> |
||||
|
</property> |
||||
|
</spacer> |
||||
|
</item> |
||||
|
<item> |
||||
|
<widget class="QPushButton" name="pushButton"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="text"> |
||||
|
<string>Select Application Location</string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
<item> |
||||
|
<layout class="QHBoxLayout" name="horizontalLayout_4"> |
||||
|
<item> |
||||
|
<widget class="QLabel" name="label_3"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="text"> |
||||
|
<string>Application Extension:</string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item> |
||||
|
<spacer name="horizontalSpacer_2"> |
||||
|
<property name="orientation"> |
||||
|
<enum>Qt::Horizontal</enum> |
||||
|
</property> |
||||
|
<property name="sizeHint" stdset="0"> |
||||
|
<size> |
||||
|
<width>378</width> |
||||
|
<height>20</height> |
||||
|
</size> |
||||
|
</property> |
||||
|
</spacer> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
<item> |
||||
|
<layout class="QHBoxLayout" name="horizontalLayout_5"> |
||||
|
<item> |
||||
|
<widget class="QListWidget" name="applicationExtension_List"/> |
||||
|
</item> |
||||
|
<item> |
||||
|
<layout class="QVBoxLayout" name="verticalLayout_2"> |
||||
|
<item> |
||||
|
<widget class="QLineEdit" name="applicationExtension_Field"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item> |
||||
|
<widget class="QPushButton" name="addExtension_Button"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="text"> |
||||
|
<string>Add Extension</string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
<item> |
||||
|
<widget class="QPushButton" name="removeExtension_Button"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="text"> |
||||
|
<string>Remove Extension</string> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</item> |
||||
|
<item> |
||||
|
<widget class="QDialogButtonBox" name="buttonBox"> |
||||
|
<property name="font"> |
||||
|
<font> |
||||
|
<pointsize>12</pointsize> |
||||
|
</font> |
||||
|
</property> |
||||
|
<property name="orientation"> |
||||
|
<enum>Qt::Horizontal</enum> |
||||
|
</property> |
||||
|
<property name="standardButtons"> |
||||
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> |
||||
|
</property> |
||||
|
</widget> |
||||
|
</item> |
||||
|
</layout> |
||||
|
</widget> |
||||
|
<resources/> |
||||
|
<connections> |
||||
|
<connection> |
||||
|
<sender>buttonBox</sender> |
||||
|
<signal>accepted()</signal> |
||||
|
<receiver>AddApplicationLauncher</receiver> |
||||
|
<slot>accept()</slot> |
||||
|
<hints> |
||||
|
<hint type="sourcelabel"> |
||||
|
<x>248</x> |
||||
|
<y>254</y> |
||||
|
</hint> |
||||
|
<hint type="destinationlabel"> |
||||
|
<x>157</x> |
||||
|
<y>274</y> |
||||
|
</hint> |
||||
|
</hints> |
||||
|
</connection> |
||||
|
<connection> |
||||
|
<sender>buttonBox</sender> |
||||
|
<signal>rejected()</signal> |
||||
|
<receiver>AddApplicationLauncher</receiver> |
||||
|
<slot>reject()</slot> |
||||
|
<hints> |
||||
|
<hint type="sourcelabel"> |
||||
|
<x>316</x> |
||||
|
<y>260</y> |
||||
|
</hint> |
||||
|
<hint type="destinationlabel"> |
||||
|
<x>286</x> |
||||
|
<y>274</y> |
||||
|
</hint> |
||||
|
</hints> |
||||
|
</connection> |
||||
|
</connections> |
||||
|
</ui> |
@ -0,0 +1,48 @@ |
|||||
|
#include "applicationlaunchers.h" |
||||
|
|
||||
|
ApplicationLaunchers::ApplicationLaunchers() |
||||
|
{ |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
void ApplicationLaunchers::appendApplicationExtension(QString appExtension) |
||||
|
{ |
||||
|
applicationExtensions.append(appExtension); |
||||
|
} |
||||
|
void ApplicationLaunchers::removeApplicationExtension(int idx) |
||||
|
{ |
||||
|
applicationExtensions.removeAt(idx); |
||||
|
} |
||||
|
|
||||
|
/* Setter Functions */ |
||||
|
void ApplicationLaunchers::setApplicationName(QString newApplicationName) |
||||
|
{ |
||||
|
applicationName = newApplicationName; |
||||
|
} |
||||
|
void ApplicationLaunchers::setApplicationExtension(QStringList newApplicationExtensions) |
||||
|
{ |
||||
|
applicationExtensions = newApplicationExtensions; |
||||
|
} |
||||
|
void ApplicationLaunchers::setApplicationLocation(QString newApplicationLocation) |
||||
|
{ |
||||
|
applicationLocation = newApplicationLocation; |
||||
|
} |
||||
|
|
||||
|
/* Getter Functions */ |
||||
|
QString ApplicationLaunchers::getApplicationName() |
||||
|
{ |
||||
|
return applicationName; |
||||
|
} |
||||
|
QStringList ApplicationLaunchers::getApplicationExtensions() |
||||
|
{ |
||||
|
return applicationExtensions; |
||||
|
} |
||||
|
QString ApplicationLaunchers::getSingleApplicationExtension(int idx) |
||||
|
{ |
||||
|
return applicationExtensions.at(idx); |
||||
|
} |
||||
|
QString ApplicationLaunchers::getApplicationLocation() |
||||
|
{ |
||||
|
return applicationLocation; |
||||
|
} |
@ -0,0 +1,36 @@ |
|||||
|
#ifndef APPLICATIONLAUNCHERS_H |
||||
|
#define APPLICATIONLAUNCHERS_H |
||||
|
|
||||
|
#include <QObject> |
||||
|
#include <QWidget> |
||||
|
#include <QPushButton> |
||||
|
|
||||
|
class ApplicationLaunchers : QObject |
||||
|
{ |
||||
|
Q_OBJECT |
||||
|
public: |
||||
|
ApplicationLaunchers(); |
||||
|
|
||||
|
void launchApplication(QString fileLocation, QString appExtension); |
||||
|
|
||||
|
void appendApplicationExtension(QString appExtension); |
||||
|
void removeApplicationExtension(int idx); |
||||
|
|
||||
|
/* Setter Functions */ |
||||
|
void setApplicationName(QString newApplicationName); |
||||
|
void setApplicationExtension(QStringList newApplicationExtensions); |
||||
|
void setApplicationLocation(QString newApplicationLocation); |
||||
|
|
||||
|
/* Getter Functions */ |
||||
|
QString getApplicationName(); |
||||
|
QStringList getApplicationExtensions(); |
||||
|
QString getSingleApplicationExtension(int idx); |
||||
|
QString getApplicationLocation(); |
||||
|
|
||||
|
private: |
||||
|
QString applicationName; |
||||
|
QStringList applicationExtensions; |
||||
|
QString applicationLocation; |
||||
|
}; |
||||
|
|
||||
|
#endif // APPLICATIONLAUNCHERS_H
|
Loading…
Reference in new issue