mirror of
https://github.com/Quill-OS/quill.git
synced 2024-12-26 23:57:22 -08:00
KoBox Apps dialog can scan through the extensions list
This commit is contained in:
parent
253d94a059
commit
abf9cda602
4 changed files with 79 additions and 31 deletions
1
apps.h
1
apps.h
|
@ -5,6 +5,7 @@
|
||||||
#include <savedwords.h>
|
#include <savedwords.h>
|
||||||
#include <calendarapp.h>
|
#include <calendarapp.h>
|
||||||
#include <koboxappsdialog.h>
|
#include <koboxappsdialog.h>
|
||||||
|
#include <generaldialog.h>
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class apps;
|
class apps;
|
||||||
|
|
|
@ -5,17 +5,18 @@
|
||||||
|
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
#include <QScreen>
|
#include <QScreen>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QFontDatabase>
|
||||||
|
#include <QMessageBox>
|
||||||
|
|
||||||
koboxAppsDialog::koboxAppsDialog(QWidget *parent) :
|
koboxAppsDialog::koboxAppsDialog(QWidget *parent) :
|
||||||
QWidget(parent),
|
QDialog(parent),
|
||||||
ui(new Ui::koboxAppsDialog)
|
ui(new Ui::koboxAppsDialog)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
// Preventing outside interaction
|
// Preventing outside interaction
|
||||||
// this->setModal(true);
|
this->setModal(true);
|
||||||
// For some obscure reason, this returns a "no member named setModal in 'koboxAppsDialog' error"
|
|
||||||
// Instead, I set the modality via GUI in the "Forms" section of Qt Creator
|
|
||||||
|
|
||||||
// Stylesheet, style & misc.
|
// Stylesheet, style & misc.
|
||||||
QFile stylesheetFile(":/resources/eink.qss");
|
QFile stylesheetFile(":/resources/eink.qss");
|
||||||
|
@ -27,6 +28,14 @@ koboxAppsDialog::koboxAppsDialog(QWidget *parent) :
|
||||||
ui->cancelBtn->setProperty("type", "borderless");
|
ui->cancelBtn->setProperty("type", "borderless");
|
||||||
ui->launchBtn->setStyleSheet("font-size: 9pt; padding: 10px; font-weight: bold; background: lightGrey");
|
ui->launchBtn->setStyleSheet("font-size: 9pt; padding: 10px; font-weight: bold; background: lightGrey");
|
||||||
ui->cancelBtn->setStyleSheet("font-size: 9pt; padding: 10px; font-weight: bold; background: lightGrey");
|
ui->cancelBtn->setStyleSheet("font-size: 9pt; padding: 10px; font-weight: bold; background: lightGrey");
|
||||||
|
ui->appsList->setStyleSheet("font-size: 9pt");
|
||||||
|
ui->headerLabel->setStyleSheet("font-weight: bold");
|
||||||
|
|
||||||
|
// UI fonts
|
||||||
|
int id = QFontDatabase::addApplicationFont(":/resources/fonts/CrimsonPro-Regular.ttf");
|
||||||
|
QString family = QFontDatabase::applicationFontFamilies(id).at(0);
|
||||||
|
QFont crimson(family);
|
||||||
|
ui->definitionLabel->setFont(QFont(crimson));
|
||||||
|
|
||||||
this->adjustSize();
|
this->adjustSize();
|
||||||
// Centering dialog
|
// Centering dialog
|
||||||
|
@ -44,7 +53,7 @@ koboxAppsDialog::koboxAppsDialog(QWidget *parent) :
|
||||||
}
|
}
|
||||||
|
|
||||||
void koboxAppsDialog::checkApps() {
|
void koboxAppsDialog::checkApps() {
|
||||||
QFile apps_list("/external_root/opt/X11/extensions/extensions_list");
|
QFile apps_list("/external_root/opt/X11/extensions_list");
|
||||||
apps_list.open(QIODevice::ReadWrite);
|
apps_list.open(QIODevice::ReadWrite);
|
||||||
QTextStream in (&apps_list);
|
QTextStream in (&apps_list);
|
||||||
apps = in.readAll();
|
apps = in.readAll();
|
||||||
|
@ -55,3 +64,21 @@ koboxAppsDialog::~koboxAppsDialog()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void koboxAppsDialog::on_cancelBtn_clicked()
|
||||||
|
{
|
||||||
|
// Emergency TODO: Fix this giving a "free(): invalid next size(fast)..." error
|
||||||
|
koboxAppsDialog::close();
|
||||||
|
}
|
||||||
|
|
||||||
|
void koboxAppsDialog::on_launchBtn_clicked()
|
||||||
|
{
|
||||||
|
index = ui->appsList->currentIndex();
|
||||||
|
itemText = index.data(Qt::DisplayRole).toString();
|
||||||
|
if(itemText == "") {
|
||||||
|
QMessageBox::critical(this, tr("Invalid argument"), tr("Please select an application."));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
qDebug() << itemText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
#ifndef KOBOXAPPSDIALOG_H
|
#ifndef KOBOXAPPSDIALOG_H
|
||||||
#define KOBOXAPPSDIALOG_H
|
#define KOBOXAPPSDIALOG_H
|
||||||
|
|
||||||
#include <QWidget>
|
#include <QDialog>
|
||||||
|
#include <QModelIndex>
|
||||||
|
|
||||||
namespace Ui {
|
namespace Ui {
|
||||||
class koboxAppsDialog;
|
class koboxAppsDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
class koboxAppsDialog : public QWidget
|
class koboxAppsDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
|
@ -18,6 +19,12 @@ public:
|
||||||
void checkApps();
|
void checkApps();
|
||||||
|
|
||||||
QString apps;
|
QString apps;
|
||||||
|
QString itemText;
|
||||||
|
QModelIndex index;
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
void on_cancelBtn_clicked();
|
||||||
|
void on_launchBtn_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::koboxAppsDialog *ui;
|
Ui::koboxAppsDialog *ui;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<ui version="4.0">
|
<ui version="4.0">
|
||||||
<class>koboxAppsDialog</class>
|
<class>koboxAppsDialog</class>
|
||||||
<widget class="QWidget" name="koboxAppsDialog">
|
<widget class="QDialog" name="koboxAppsDialog">
|
||||||
<property name="windowModality">
|
<property name="windowModality">
|
||||||
<enum>Qt::NonModal</enum>
|
<enum>Qt::NonModal</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -9,8 +9,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>400</width>
|
<width>468</width>
|
||||||
<height>300</height>
|
<height>361</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -19,27 +19,7 @@
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="0" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<family>Inter</family>
|
|
||||||
<weight>75</weight>
|
|
||||||
<bold>true</bold>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>KoBox apps launcher</string>
|
|
||||||
</property>
|
|
||||||
<property name="alignment">
|
|
||||||
<set>Qt::AlignCenter</set>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QListView" name="appsList"/>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
|
@ -74,6 +54,39 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QListView" name="appsList"/>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="headerLabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Inter</family>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>KoBox apps launcher</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="definitionLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Please select an application and click on 'Launch' to start it.</string>
|
||||||
|
</property>
|
||||||
|
<property name="textFormat">
|
||||||
|
<enum>Qt::AutoText</enum>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|
Loading…
Reference in a new issue