diff --git a/CMakeLists.txt b/CMakeLists.txt index dcbea4cf87edecdd8b24ebbe236cb2024b4a1f48..508562cbeeb06353501bef996560404984a99458 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,7 +156,6 @@ set(lektor_module_SOURCES src/module/module_qt_window.cc src/module/qt_window/mpvwidget.cc - src/module/qt_window/mpvwidget_interface.cc src/module/qt_window/mainwindow.cc ) diff --git a/src/module/module_qt_window.cc b/src/module/module_qt_window.cc index 22cf54572a973b47444029180d660e32f954f0e8..e9132fbb8fa41d1a0485e3d2e92efc9877566b57 100644 --- a/src/module/module_qt_window.cc +++ b/src/module/module_qt_window.cc @@ -1,11 +1,13 @@ #define __LKT_MODULE_MAIN_SOURCE__ #include "module_qt_window.hh" +#include <QApplication> + #include <lektor/lktmodule.h> #include <sched.h> #include "mpv.h" -#include "qt_window/mpvwidget_interface.hh" +#include "qt_window/mainwindow.hh" /************************ * Function definitions * @@ -68,7 +70,7 @@ mod_toggle_pause(va_list *va) va_copy(copy, *va); struct module_qt_window_s **win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); - bool ret = ___module_qt_window_toggle_pause(*win); + bool ret = (*win)->mpv_widget->toggle_pause(); va_end(copy); return !ret; } @@ -81,7 +83,7 @@ mod_load_file(va_list *va) struct module_qt_window_s **win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); const char *file = va_arg(copy, const char *); - const bool ret = ___module_qt_window_load_file(*win, file); + const bool ret = (*win)->mpv_widget->load_file(file); va_end(copy); return !ret; } @@ -94,7 +96,7 @@ mod_set_volume(va_list *va) struct module_qt_window_s **win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); const int volume = va_arg(copy, int); - const bool ret = ___module_qt_window_set_volume(*win, volume); + const bool ret = (*win)->mpv_widget->set_volume(volume); va_end(copy); return !ret; } @@ -107,7 +109,7 @@ mod_set_paused(va_list *va) struct module_qt_window_s **win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); const int state = va_arg(copy, int); - const bool ret = ___module_qt_window_set_paused(*win, state); + const bool ret = (*win)->mpv_widget->set_paused(state); va_end(copy); return !ret; } @@ -120,7 +122,7 @@ mod_set_position(va_list *va) struct module_qt_window_s **win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); const int seconds = va_arg(copy, int); - const bool ret = ___module_qt_window_set_position(*win, seconds); + const bool ret = (*win)->mpv_widget->set_position(seconds); va_end(copy); return !ret; } @@ -133,7 +135,7 @@ mod_get_duration(va_list *va) struct module_qt_window_s **win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); int *duration = va_arg(copy, int *); - bool ret = ___module_qt_window_get_duration(*win, duration); + bool ret = (*win)->mpv_widget->get_duration(duration); va_end(copy); return !ret; } @@ -146,7 +148,7 @@ mod_get_elapsed(va_list *va) va_copy(copy, *va); win = reinterpret_cast<struct module_qt_window_s **>(va_arg(copy, void **)); int *elapsed = va_arg(copy, int *); - const bool ret = ___module_qt_window_get_elapsed(*win, elapsed); + const bool ret = (*win)->mpv_widget->get_elapsed(elapsed); va_end(copy); return !ret; } @@ -177,6 +179,24 @@ REG_EXPORT(qt_window_reg) * Private helper functions * ****************************/ +static void * +___create_mpv_widget(void *arg) +{ + lkt_thread_set_name("lektord/qt-win"); + + /* Unsage reinterpret cast, but isok */ + module_qt_window_s *qt_window = reinterpret_cast<module_qt_window_s *>(arg); + + int argc = 0; + QApplication app(argc, nullptr); + setlocale(LC_NUMERIC, "C"); + qt_window->main_window = new MainWindow(qt_window); + qt_window->main_window->show(); + app.exec(); + + return nullptr; +} + /*************************** * Function implementation * ***************************/ @@ -198,7 +218,8 @@ module_qt_window_new(struct module_qt_window_s **win, struct queue *queue, lkt_d (*win)->db = db; pthread_t thread; - RETURN_IF(pthread_create(&thread, nullptr, ___create_mpv_widget, *win), "Failed to launch the Qt thread", false); + RETURN_IF(pthread_create(&thread, nullptr, ___create_mpv_widget, *win), + "Failed to launch the Qt thread", false); } return true; @@ -208,7 +229,7 @@ static void module_qt_window_close(struct module_qt_window_s *win) { RETURN_UNLESS(win && win->mpv_widget && win->main_window, "Invalid arguments", NOTHING); - ___module_qt_window_close(win); + win->main_window->closeMpv(); } static void diff --git a/src/module/qt_window/mpvwidget_interface.cc b/src/module/qt_window/mpvwidget_interface.cc deleted file mode 100644 index d687366847cd9b910f48d132f9eed9ec19ce0744..0000000000000000000000000000000000000000 --- a/src/module/qt_window/mpvwidget_interface.cc +++ /dev/null @@ -1,73 +0,0 @@ -#include "mpvwidget_interface.hh" - -#include <QApplication> -#include <QEventLoop> - -#include "mainwindow.hh" - -void * -___create_mpv_widget(void *arg) -{ - lkt_thread_set_name("lektord/qt-win"); - - /* Unsage reinterpret cast, but isok */ - module_qt_window_s *qt_window = reinterpret_cast<module_qt_window_s *>(arg); - - int argc = 0; - QApplication app(argc, nullptr); - setlocale(LC_NUMERIC, "C"); - qt_window->main_window = new MainWindow(qt_window); - qt_window->main_window->show(); - app.exec(); - - return nullptr; -} - -bool -___module_qt_window_get_elapsed(struct module_qt_window_s *win, int *elapsed_sec) -{ - return win->mpv_widget->get_elapsed(elapsed_sec); -} - -bool -___module_qt_window_get_duration(struct module_qt_window_s *win, int *dur_sec) -{ - return win->mpv_widget->get_duration(dur_sec); -} - -bool -___module_qt_window_set_paused(struct module_qt_window_s *win, int paused) -{ - return win->mpv_widget->set_paused(paused); -} - -bool -___module_qt_window_set_volume(struct module_qt_window_s *win, int vol) -{ - return win->mpv_widget->set_volume(vol); -} - -bool -___module_qt_window_set_position(struct module_qt_window_s *win, int sec) -{ - return win->mpv_widget->set_position(sec); -} - -bool -___module_qt_window_load_file(struct module_qt_window_s *win, const char *filepath) -{ - return win->mpv_widget->load_file(filepath); -} - -bool -___module_qt_window_toggle_pause(struct module_qt_window_s *win) -{ - return win->mpv_widget->toggle_pause(); -} - -bool -___module_qt_window_close(struct module_qt_window_s *win) -{ - win->main_window->closeMpv(); - return true; -} diff --git a/src/module/qt_window/mpvwidget_interface.hh b/src/module/qt_window/mpvwidget_interface.hh deleted file mode 100644 index 0f953e56bc1a05a627f410b00649c7395886ccf5..0000000000000000000000000000000000000000 --- a/src/module/qt_window/mpvwidget_interface.hh +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include <lektor/common.h> -#include "../module_qt_window.hh" - -void *___create_mpv_widget(void *arg); - -bool ___module_qt_window_get_elapsed(struct module_qt_window_s *, int *); -bool ___module_qt_window_get_duration(struct module_qt_window_s *, int *); -bool ___module_qt_window_set_paused(struct module_qt_window_s *, int); -bool ___module_qt_window_set_volume(struct module_qt_window_s *, int); -bool ___module_qt_window_set_position(struct module_qt_window_s *, int); -bool ___module_qt_window_load_file(struct module_qt_window_s *, const char *); -bool ___module_qt_window_toggle_pause(struct module_qt_window_s *); -bool ___module_qt_window_close(struct module_qt_window_s *);