aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZackaryWelch <welch.zackary@gmail.com>2017-09-11 18:34:07 -0400
committerZackaryWelch <welch.zackary@gmail.com>2017-09-11 18:34:07 -0400
commit8130a95c6a437f9a55ddbf1858632e5645aeb0fa (patch)
treec27e44ec41c54b33aba6bcb38c8e06855211ba6c
parentResynced translation files (diff)
downloadlumina-8130a95c6a437f9a55ddbf1858632e5645aeb0fa.tar.gz
lumina-8130a95c6a437f9a55ddbf1858632e5645aeb0fa.tar.bz2
lumina-8130a95c6a437f9a55ddbf1858632e5645aeb0fa.zip
Added a framework for an experimental screen recorder
-rw-r--r--src-qt5/experimental/lumina-screencast/MainUI.cpp23
-rw-r--r--src-qt5/experimental/lumina-screencast/MainUI.h32
-rw-r--r--src-qt5/experimental/lumina-screencast/README.md27
-rw-r--r--src-qt5/experimental/lumina-screencast/lumina-screencast.desktop9
-rw-r--r--src-qt5/experimental/lumina-screencast/lumina-screencast.pro99
-rw-r--r--src-qt5/experimental/lumina-screencast/main.cpp25
6 files changed, 215 insertions, 0 deletions
diff --git a/src-qt5/experimental/lumina-screencast/MainUI.cpp b/src-qt5/experimental/lumina-screencast/MainUI.cpp
new file mode 100644
index 00000000..6b06fd26
--- /dev/null
+++ b/src-qt5/experimental/lumina-screencast/MainUI.cpp
@@ -0,0 +1,23 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014-2015, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+
+#include "MainUI.h"
+#include "ui_MainUI.h"
+
+MainUI::MainUI() {
+ setupIcons();
+}
+
+MainUI::~MainUI() {
+
+}
+
+void MainUI::setupIcons() {
+
+}
+
+//SLOTS
diff --git a/src-qt5/experimental/lumina-screencast/MainUI.h b/src-qt5/experimental/lumina-screencast/MainUI.h
new file mode 100644
index 00000000..a01413dd
--- /dev/null
+++ b/src-qt5/experimental/lumina-screencast/MainUI.h
@@ -0,0 +1,32 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014-2015, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+
+#include <QMainWindow>
+
+namespace Ui{
+ class MainUI;
+};
+
+class MainUI : public QMainWindow {
+ Q_Object
+public:
+ MainUI();
+ ~MainUI();
+
+public slots:
+ void setupIcons();
+
+private:
+ Ui::MainUI *ui;
+
+private slots:
+ void closeApplication() {
+ this->close();
+ }
+//protected:
+//events go here
+};
diff --git a/src-qt5/experimental/lumina-screencast/README.md b/src-qt5/experimental/lumina-screencast/README.md
new file mode 100644
index 00000000..d5745c6c
--- /dev/null
+++ b/src-qt5/experimental/lumina-screencast/README.md
@@ -0,0 +1,27 @@
+## Screencast utility for the Lumina Desktop
+
+Description of the application
+
+### Library Dependencies
+
+1. Qt 5.2+ (specific modules listed below)
+ * concurrent
+ * core
+ * gui
+ * network
+ * multimedia
+ * svg
+ * widgets
+2. X11 Libraries
+ * libXdamage
+3. XCB Libraries
+ * libxcb
+ * libxcb-ewmh
+ * libxcb-icccm
+ * libxcb-image
+ * libxcb-composite
+ * libxcb-damage
+ * libxcb-randr
+ * libxcb-util
+4. Other Libraries
+ * libc
diff --git a/src-qt5/experimental/lumina-screencast/lumina-screencast.desktop b/src-qt5/experimental/lumina-screencast/lumina-screencast.desktop
new file mode 100644
index 00000000..e3cf7be6
--- /dev/null
+++ b/src-qt5/experimental/lumina-screencast/lumina-screencast.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Exec=lumina-screencast
+Icon=screencast
+Terminal=false
+Type=Application
+StartupNotify=true
+Categories=Utility;
+Name=Lumina Screencast
+Comment=Record Screen
diff --git a/src-qt5/experimental/lumina-screencast/lumina-screencast.pro b/src-qt5/experimental/lumina-screencast/lumina-screencast.pro
new file mode 100644
index 00000000..5cfe89ef
--- /dev/null
+++ b/src-qt5/experimental/lumina-screencast/lumina-screencast.pro
@@ -0,0 +1,99 @@
+include("$${PWD}/../../OS-detect.pri")
+
+QT += core gui network
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets x11extras
+
+TARGET = lumina-screencast
+target.path = $${L_BINDIR}
+
+TEMPLATE = app
+
+#include all the special classes from the Lumina tree
+include(../../core/libLumina/LUtils.pri) #includes LUtils
+include(../../core/libLumina/LuminaXDG.pri)
+include(../../core/libLumina/LuminaSingleApplication.pri)
+include(../../core/libLumina/LuminaThemes.pri)
+include(../../core/libLumina/LuminaX11.pri)
+
+SOURCES += main.cpp \
+ MainUI.cpp \
+
+HEADERS += MainUI.h \
+
+FORMS += MainUI.ui
+
+TRANSLATIONS = i18n/l-screencast_af.ts \
+ i18n/l-screencast_ar.ts \
+ i18n/l-screencast_az.ts \
+ i18n/l-screencast_bg.ts \
+ i18n/l-screencast_bn.ts \
+ i18n/l-screencast_bs.ts \
+ i18n/l-screencast_ca.ts \
+ i18n/l-screencast_cs.ts \
+ i18n/l-screencast_cy.ts \
+ i18n/l-screencast_da.ts \
+ i18n/l-screencast_de.ts \
+ i18n/l-screencast_el.ts \
+ i18n/l-screencast_en_GB.ts \
+ i18n/l-screencast_en_ZA.ts \
+ i18n/l-screencast_en_AU.ts \
+ i18n/l-screencast_es.ts \
+ i18n/l-screencast_et.ts \
+ i18n/l-screencast_eu.ts \
+ i18n/l-screencast_fa.ts \
+ i18n/l-screencast_fi.ts \
+ i18n/l-screencast_fr.ts \
+ i18n/l-screencast_fr_CA.ts \
+ i18n/l-screencast_gl.ts \
+ i18n/l-screencast_he.ts \
+ i18n/l-screencast_hi.ts \
+ i18n/l-screencast_hr.ts \
+ i18n/l-screencast_hu.ts \
+ i18n/l-screencast_id.ts \
+ i18n/l-screencast_is.ts \
+ i18n/l-screencast_it.ts \
+ i18n/l-screencast_ja.ts \
+ i18n/l-screencast_ka.ts \
+ i18n/l-screencast_ko.ts \
+ i18n/l-screencast_lt.ts \
+ i18n/l-screencast_lv.ts \
+ i18n/l-screencast_mk.ts \
+ i18n/l-screencast_mn.ts \
+ i18n/l-screencast_ms.ts \
+ i18n/l-screencast_mt.ts \
+ i18n/l-screencast_nb.ts \
+ i18n/l-screencast_nl.ts \
+ i18n/l-screencast_pa.ts \
+ i18n/l-screencast_pl.ts \
+ i18n/l-screencast_pt.ts \
+ i18n/l-screencast_pt_BR.ts \
+ i18n/l-screencast_ro.ts \
+ i18n/l-screencast_ru.ts \
+ i18n/l-screencast_sk.ts \
+ i18n/l-screencast_sl.ts \
+ i18n/l-screencast_sr.ts \
+ i18n/l-screencast_sv.ts \
+ i18n/l-screencast_sw.ts \
+ i18n/l-screencast_ta.ts \
+ i18n/l-screencast_tg.ts \
+ i18n/l-screencast_th.ts \
+ i18n/l-screencast_tr.ts \
+ i18n/l-screencast_uk.ts \
+ i18n/l-screencast_uz.ts \
+ i18n/l-screencast_vi.ts \
+ i18n/l-screencast_zh_CN.ts \
+ i18n/l-screencast_zh_HK.ts \
+ i18n/l-screencast_zh_TW.ts \
+ i18n/l-screencast_zu.ts
+
+dotrans.path=$${L_SHAREDIR}/lumina-desktop/i18n/
+dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$${L_SHAREDIR}/lumina-desktop/i18n/
+
+desktop.files=lumina-screencast.desktop
+desktop.path=$${L_SHAREDIR}/applications/
+
+INSTALLS += target desktop
+
+WITH_I18N{
+ INSTALLS += dotrans
+}
diff --git a/src-qt5/experimental/lumina-screencast/main.cpp b/src-qt5/experimental/lumina-screencast/main.cpp
new file mode 100644
index 00000000..08233e67
--- /dev/null
+++ b/src-qt5/experimental/lumina-screencast/main.cpp
@@ -0,0 +1,25 @@
+#include <QTranslator>
+#include <QApplication>
+#include <QDebug>
+#include <QFile>
+
+#include "MainUI.h"
+#include <LuminaOS.h>
+#include <LuminaThemes.h>
+#include <LUtils.h>
+#include <LuminaSingleApplication.h>
+
+int main(int argc, char ** argv)
+{
+ LTHEME::LoadCustomEnvSettings();
+ //Make sure Qt5 auto-scaling is disabled for this application (need exact pixel measurements)
+ unsetenv("QT_AUTO_SCREEN_SCALE_FACTOR");
+ LSingleApplication a(argc, argv, "l-screencast");
+ if(!a.isPrimaryProcess()){ return 0; }
+ a.setApplicationName("Record Screen");
+
+ MainUI w;
+ w.show();
+
+ return a.exec();
+}
bgstack15