Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
proview
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Esteban Blanc
proview
Commits
a8ce4023
Commit
a8ce4023
authored
Nov 20, 2020
by
Christoffer Ackelman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upgrade to QT 5 and remove GTK style from QT frontend.
parent
9781958a
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
56 additions
and
222 deletions
+56
-222
README.md
README.md
+1
-1
src/tools/bld/src/rules.mk
src/tools/bld/src/rules.mk
+2
-2
src/tools/bld/src/variables.mk
src/tools/bld/src/variables.mk
+2
-2
src/tools/pwre/src/pwre_configure.sh
src/tools/pwre/src/pwre_configure.sh
+12
-12
wb/lib/wb/qt/wb_vsel_qt.cqt
wb/lib/wb/qt/wb_vsel_qt.cqt
+2
-0
xtt/lib/cow/qt/cow_style_qt.cqt
xtt/lib/cow/qt/cow_style_qt.cqt
+0
-156
xtt/lib/cow/qt/cow_style_qt.h
xtt/lib/cow/qt/cow_style_qt.h
+5
-17
xtt/lib/cow/qt/cow_wow_qt.cqt
xtt/lib/cow/qt/cow_wow_qt.cqt
+1
-1
xtt/lib/glow/qt/glow_draw_qt.cqt
xtt/lib/glow/qt/glow_draw_qt.cqt
+3
-3
xtt/lib/xtt/qt/xtt_stream_qt.cqt
xtt/lib/xtt/qt/xtt_stream_qt.cqt
+24
-23
xtt/lib/xtt/qt/xtt_stream_qt.h
xtt/lib/xtt/qt/xtt_stream_qt.h
+4
-5
No files found.
build-howto
.md
→
README
.md
View file @
a8ce4023
...
...
@@ -20,7 +20,7 @@ Optional:
Mandatory if you want to build the QT version of ProviewR:
> apt-get install qt
4-dev-tools libphonon-dev
> apt-get install qt
5-default
Mandatory if you want to build the GTK version of ProviewR:
...
...
src/tools/bld/src/rules.mk
View file @
a8ce4023
...
...
@@ -84,7 +84,7 @@ endif
$(bld_dir)/%_moc.o
:
%.cqt
@
echo
"Generating
$(sname)
_moc.cpp from
$(sname)
.h using moc"
@
moc
$(csetos
)
$(sname)
.h
-o
$(bld_dir)
/
$(sname)
_moc.cpp
@
moc
-DPWRE_CONF_QT
$(pwre_conf_cc_define
)
$(sname)
.h
-o
$(bld_dir)
/
$(sname)
_moc.cpp
@
echo
"Compiling
$(sname)
_moc.cpp"
@
$(cxx)
$(cxxflags)
$(csetos)
$(cinc)
-o
$(bld_dir)
/
$(sname)
_moc.o
$(bld_dir)
/
$(sname)
_moc.cpp
...
...
@@ -123,7 +123,7 @@ ifeq ($(nodep),)
| sed '
\'
's|$*\.o[ ]*|
$(obj_dir)
/&|g'
\'
' >
$(obj_dir)
/
$(sname)
.d'
endif
@
echo
"Generating
$(sname)
_moc.cpp from
$(sname)
.h using moc"
@
moc
$(csetos
)
$(cinc)
$(sname)
.h
\
@
moc
-DPWRE_CONF_QT
$(pwre_conf_cc_define
)
$(cinc)
$(sname)
.h
\
-o
$(bld_dir)
/
$(sname)
_moc.cpp
@
echo
"Compiling
$(sname)
_moc.cpp"
@
$(cxx)
$(cxxflags)
$(csetos)
$(cinc)
-o
$(bld_dir)
/
$(sname)
_moc.o
$(bld_dir)
/
$(sname)
_moc.cpp
...
...
src/tools/bld/src/variables.mk
View file @
a8ce4023
...
...
@@ -88,7 +88,7 @@ pre_so =
log_done
=
ifeq
($(pwre_conf_qt),1)
csetos
:=
-DPWRE_CONF_QT
$(pwre_conf_cc_define)
csetos
:=
-DPWRE_CONF_QT
$(pwre_conf_cc_define)
-fPIC
cinc
:=
-I
$(inc_dir)
-I
$(einc_dir)
-I
$(co_source)
$(pwre_conf_incdir)
$(pwre_conf_incdirqt)
else
ifeq
($(pwre_conf_gtk),1)
...
...
@@ -158,7 +158,7 @@ else
endif
explinkflags
:=
$(cross_compile)
-g
-L
$(elib_dir)
cxxflags
:=
-std
=
gnu++11
$(cflags)
cxxflags
:=
-std
=
gnu++11
$(cflags)
-Wno-deprecated-copy
clis
=
/lis
=
$(list)
dolist
=
/lis
=
$(list)
domap
=
-Xlinker
-Map
-Xlinker
$(map)
...
...
src/tools/pwre/src/pwre_configure.sh
View file @
a8ce4023
...
...
@@ -190,8 +190,8 @@ pwre_config_check_lib()
conf_libgtk
=
$conf_libgtk
"
\\\`
pkg-config --libs gtk+-2.0
\\\`
"
conf_incdirgtk
=
$conf_incdirgtk
"
\\\`
pkg-config --cflags gtk+-2.0
\\\`
"
elif
test
$3
==
"qt"
;
then
conf_libqt
=
$conf_libqt
"
\\\`
pkg-config --libs Qt
Core QtGui QtNetwork phonon
\\\`
"
conf_incdirqt
=
$conf_incdirqt
"
\\\`
pkg-config --cflags Qt
Core QtGui QtNetwork phonon
\\\`
"
conf_libqt
=
$conf_libqt
"
\\\`
pkg-config --libs Qt
5Core Qt5Widgets Qt5Gui Qt5Network Qt5PrintSupport Qt5Multimedia Qt5MultimediaWidgets Qt5WebSockets
\\\`
"
conf_incdirqt
=
$conf_incdirqt
"
\\\`
pkg-config --cflags Qt
5Core Qt5Widgets Qt5Gui Qt5Network Qt5PrintSupport Qt5Multimedia Qt5MultimediaWidgets Qt5WebSockets
\\\`
"
elif
test
$3
==
"gst"
;
then
conf_libgst
=
$conf_libgst
"
\\\`
pkg-config --libs gstreamer-video-1.0 gstreamer-1.0
\\\`
"
conf_incdirgst
=
$conf_incdirgst
"
\\\`
pkg-config --cflags gstreamer-video-1.0 gstreamer-1.0
\\\`
"
...
...
@@ -352,11 +352,11 @@ if [ $pwre_hw == "hw_arm" ] && [ $ebuild -eq 1 ]; then
echo
"Arm ebuild"
# if [
$pwre_conf_qt
-eq 1 ]; then
pwre_config_check_lib qt QT qt qt 0
"/usr/lib/
libQtGui.so:/usr/lib/
$hwpl
-linux-
$gnu
/libQt
Gui.so"
pwre_config_check_include qt QT 0
"/usr/include/
qt4/QtGui
"
pwre_config_check_include qt QT 0
"/usr/include/
qt4
/QtCore/QtCore"
pwre_config_check_include qt QT 0
"/usr/include/
qt4/QtGui/QtGui
"
pwre_config_check_include qt QT 0
"/usr/include/
qt4/QtNetwork/QtNetwork
"
pwre_config_check_lib qt QT qt qt 0
"/usr/lib/
$hwpl
-linux-
$gnu
/libQt5
Gui.so"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5/QtCore
"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5
/QtCore/QtCore"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5/QtWidgets/QtWidgets
"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5/QtGui/QtGui
"
# fi
# if [
$pwre_conf_gtk
-eq 1 ]; then
pwre_config_check_lib gtk GTK gtk gtk 0
"/usr/lib/libgtk-x11-2.0.so:/usr/lib/
$hwpl
-linux-
$gnu
/libgtk-x11-2.0.so"
...
...
@@ -431,11 +431,11 @@ else
echo
""
echo
"Gui either Qt or Gtk :"
# if [ ! -z
$pwre_conf_qt
]; then
pwre_config_check_lib qt QT qt qt 0
"/usr/lib/
libQtGui.so:/usr/lib/
$hwpl
-linux-
$gnu
/libQt
Gui.so"
pwre_config_check_include qt QT 0
"/usr/include/
qt4/QtGui
"
pwre_config_check_include qt QT 0
"/usr/include/
qt4
/QtCore/QtCore"
pwre_config_check_include qt QT 0
"/usr/include/
qt4/QtGui/QtGui
"
pwre_config_check_include qt QT 0
"/usr/include/
qt4/QtNetwork/QtNetwork
"
pwre_config_check_lib qt QT qt qt 0
"/usr/lib/
$hwpl
-linux-
$gnu
/libQt5
Gui.so"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5/QtCore
"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5
/QtCore/QtCore"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5/QtWidgets/QtWidgets
"
pwre_config_check_include qt QT 0
"/usr/include/
$hwpl
-linux-
$gnu
/qt5/QtGui/QtGui
"
# else
pwre_config_check_lib gtk GTK gtk gtk 0
"/usr/lib/libgtk-x11-2.0.so:/usr/lib/
$hwpl
-linux-
$gnu
/libgtk-x11-2.0.so"
pwre_config_check_include gtk GTK 0
"/usr/local/include/gtk-2.0/gtk.h:/usr/local/include/gtk-2.0/gtk/gtk.h:/usr/include/gtk-2.0/gtk/gtk.h"
...
...
wb/lib/wb/qt/wb_vsel_qt.cqt
View file @
a8ce4023
...
...
@@ -267,6 +267,8 @@ WVselQt::WVselQt(pwr_tStatus* status, void* wv_parent_ctx,
volumelist->setSelectionMode(QAbstractItemView::SingleSelection);
volumelist->setColumnCount(3);
volumelist->header()->setSectionResizeMode(0, QHeaderView::Stretch);
volumelist->header()->setStretchLastSection(false);
volumelist->header()->close();
QDialogButtonBox* buttons = new QDialogButtonBox();
...
...
xtt/lib/cow/qt/cow_style_qt.cqt
deleted
100644 → 0
View file @
9781958a
/*
* ProviewR Open Source Process Control.
* Copyright (C) 2005-2019 SSAB EMEA AB.
*
* This file is part of ProviewR.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 2 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ProviewR. If not, see <http://www.gnu.org/licenses/>
*
* Linking ProviewR statically or dynamically with other modules is
* making a combined work based on ProviewR. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* In addition, as a special exception, the copyright holders of
* ProviewR give you permission to, from the build function in the
* ProviewR Configurator, combine ProviewR with modules generated by the
* ProviewR PLC Editor to a PLC program, regardless of the license
* terms of these modules. You may copy and distribute the resulting
* combined work under the terms of your choice, provided that every
* copy of the combined work is accompanied by a complete copy of
* the source code of ProviewR (the version used to produce the
* combined work), being distributed under the terms of the GNU
* General Public License plus this exception.
*/
#include "co_dcli.h"
#include "cow_style_qt.h"
#include <QApplication>
#include <QDialogButtonBox>
#include <QFile>
#include <QTextStream>
PwrStyle::PwrStyle() : QGtkStyle() {
loadPalette("$HOME/.pwr_style");
}
PwrStyle::~PwrStyle() {
if (pal) {
delete pal;
}
}
int PwrStyle::pixelMetric(PixelMetric which, const QStyleOption* option,
const QWidget* widget) const {
switch (which) {
case PM_LayoutLeftMargin:
case PM_LayoutTopMargin:
case PM_LayoutRightMargin:
case PM_LayoutBottomMargin:
case PM_LayoutHorizontalSpacing:
case PM_LayoutVerticalSpacing:
case PM_ToolBarItemMargin:
case PM_ToolBarItemSpacing:
return 0;
default:
return QGtkStyle::pixelMetric(which, option, widget);
}
}
int PwrStyle::styleHint(StyleHint hint, const QStyleOption* option,
const QWidget* widget, QStyleHintReturn* returnData) const {
if (hint == SH_DialogButtonLayout) {
return QDialogButtonBox::WinLayout;
}
return QGtkStyle::styleHint(hint, option, widget, returnData);
}
void PwrStyle::loadPalette(const char* path) {
char fname[200];
dcli_translate_filename(fname, path);
QFile f(fname);
if (!f.open(QFile::ReadOnly | QFile::Text)) {
return;
}
pal = new QPalette(standardPalette());
QTextStream in(&f);
QStringList lines = in.readAll().split('\n', QString::SkipEmptyParts);
for (int i = 0; i < lines.size(); i++) {
QStringList line = lines[i].split(' ', QString::SkipEmptyParts);
if (line.size() < 2) {
fprintf(stderr, "Error parsing line %d in file %s\n", (i+1), fname);
continue;
}
QPalette::ColorRole role = QPalette::ColorRole(atoi(qPrintable(line[0])));
pal->setBrush(QPalette::ColorGroup(0), role, QColor(line[1]));
pal->setBrush(QPalette::ColorGroup(2), role, QColor(line[1]));
if (line.size() > 2 && QColor(line[2]).isValid()) {
pal->setBrush(QPalette::ColorGroup(1), role, QColor(line[2]));
} else {
pal->setBrush(QPalette::ColorGroup(1), role, QColor(line[1]));
}
}
QApplication::setPalette(*pal);
}
void PwrStyle::drawPrimitive(PrimitiveElement element,
const QStyleOption *option, QPainter *painter, const QWidget *widget) const {
if (pal) {
if (element == PE_PanelButtonCommand) {
QWindowsStyle::drawPrimitive(element, option, painter, widget);
return;
}
QCleanlooksStyle::drawPrimitive(element, option, painter, widget);
} else {
QGtkStyle::drawPrimitive(element, option, painter, widget);
}
}
void PwrStyle::drawControl(ControlElement control, const QStyleOption *option,
QPainter *painter, const QWidget *widget) const {
if (pal) {
QCleanlooksStyle::drawControl(control, option, painter, widget);
} else {
QGtkStyle::drawControl(control, option, painter, widget);
}
}
void PwrStyle::drawComplexControl(ComplexControl control,
const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget)
const {
if (pal) {
QCleanlooksStyle::drawComplexControl(control, option, painter, widget);
} else {
QGtkStyle::drawComplexControl(control, option, painter, widget);
}
}
void PwrStyle::polish(QApplication *app) {
if (pal) {
QCleanlooksStyle::polish(app);
} else {
QGtkStyle::polish(app);
}
}
void PwrStyle::unpolish(QApplication *app) {
if (pal) {
QCleanlooksStyle::unpolish(app);
} else {
QGtkStyle::unpolish(app);
}
}
\ No newline at end of file
xtt/lib/cow/qt/cow_style_qt.h
View file @
a8ce4023
...
...
@@ -37,32 +37,20 @@
#ifndef cow_style_qt_h
#define cow_style_qt_h
#include <QGtkStyle>
class
PwrStyle
:
public
QGtkStyle
{
Q_OBJECT
#include <QProxyStyle>
class
PwrStyle
:
public
QProxyStyle
{
public:
PwrStyle
();
~
PwrStyle
();
int
pixelMetric
(
PixelMetric
which
,
const
QStyleOption
*
option
,
int
pixelMetric
(
PixelMetric
which
,
const
QStyleOption
*
option
=
0
,
const
QWidget
*
widget
=
0
)
const
;
int
styleHint
(
StyleHint
hint
,
const
QStyleOption
*
option
,
const
QWidget
*
widget
,
QStyleHintReturn
*
returnData
=
0
)
const
;
int
styleHint
(
StyleHint
hint
,
const
QStyleOption
*
option
=
0
,
const
QWidget
*
widget
=
0
,
QStyleHintReturn
*
returnData
=
0
)
const
;
void
loadPalette
(
const
char
*
path
);
void
drawPrimitive
(
PrimitiveElement
element
,
const
QStyleOption
*
option
,
QPainter
*
painter
,
const
QWidget
*
widget
)
const
;
void
drawControl
(
ControlElement
control
,
const
QStyleOption
*
option
,
QPainter
*
painter
,
const
QWidget
*
widget
)
const
;
void
drawComplexControl
(
ComplexControl
control
,
const
QStyleOptionComplex
*
option
,
QPainter
*
painter
,
const
QWidget
*
widget
)
const
;
void
polish
(
QApplication
*
app
);
void
unpolish
(
QApplication
*
app
);
private:
QPalette
*
pal
=
NULL
;
};
...
...
xtt/lib/cow/qt/cow_wow_qt.cqt
View file @
a8ce4023
...
...
@@ -166,7 +166,7 @@ void CoWowQt::DisplayError(
QMessageBox msgBox(QMessageBox::Critical, fl(title), ctext,
QMessageBox::NoButton, object->parent_wid->window());
QDialogButtonBox* buttonBox =
qFindChild<QDialogButtonBox*>(&msgBox)
;
QDialogButtonBox* buttonBox =
msgBox.findChildren<QDialogButtonBox*>()[0]
;
Q_ASSERT(buttonBox != 0);
QPushButton* button = msgBox.addButton(QMessageBox::Ok);
...
...
xtt/lib/glow/qt/glow_draw_qt.cqt
View file @
a8ce4023
...
...
@@ -343,12 +343,12 @@ int GlowDrawQt::event_handler(QEvent* event, QWidget* target)
keysym = keyEvent->key();
if (keysym >= Qt::Key_Space && keysym <= Qt::Key_AsciiTilde) {
c
har buff = QChar(keysym).toAscii(
);
c
onst char* buff = qPrintable(keyEvent->text()
);
if (keyEvent->modifiers() & Qt::ControlModifier) {
sts = ctx->event_handler(glow_eEvent_Key_CtrlAscii, 0, 0, buff, 0);
sts = ctx->event_handler(glow_eEvent_Key_CtrlAscii, 0, 0, buff
[0]
, 0);
} else {
sts = ctx->event_handler(glow_eEvent_Key_Ascii, 0, 0, buff, 0);
sts = ctx->event_handler(glow_eEvent_Key_Ascii, 0, 0, buff
[0]
, 0);
}
} else {
switch (keysym) {
...
...
xtt/lib/xtt/qt/xtt_stream_qt.cqt
View file @
a8ce4023
...
...
@@ -52,9 +52,7 @@
#include <QLabel>
#include <QMenu>
#include <QPainter>
#include <phonon/MediaObject>
#include <phonon/MediaSource>
#include <QVideoWidget>
/* This function is called when the main window is closed */
void XttStreamQtWidget::closeEvent(QCloseEvent* event)
...
...
@@ -74,7 +72,7 @@ void XttStreamQtWidget::closeEvent(QCloseEvent* event)
* new position here. */
void XttStreamQtWidget::slider_cb(int value)
{
stream->playbin2->se
ek
(value * 1000);
stream->playbin2->se
tPosition
(value * 1000);
}
static void refresh_ui(XttStreamQt* strm)
...
...
@@ -86,11 +84,11 @@ static void refresh_ui(XttStreamQt* strm)
/* We do not want to update anything unless we are in the PAUSED or PLAYING
* states */
if (!(strm->state ==
Phonon::PausedState || strm->state == Phonon
::PlayingState)) {
if (!(strm->state ==
QMediaPlayer::PausedState || strm->state == QMediaPlayer
::PlayingState)) {
return;
}
qint64 current = strm->playbin2->
totalTime
();
qint64 current = strm->playbin2->
duration
();
strm->slider->setRange(0, current / 1000);
strm->toplevel->update();
}
...
...
@@ -105,9 +103,9 @@ void XttStreamQt::reconnect(void* data)
{
XttStreamQt* strm = (XttStreamQt*)data;
printf("Try to reconnect %d 1\n", strm->playbin2->
mediaObject()->
state());
printf("Try to reconnect %d 1\n", strm->playbin2->state());
if (strm->playbin2->
mediaObject()->state() == Phonon
::PlayingState) {
if (strm->playbin2->
state() == QMediaPlayer
::PlayingState) {
return;
}
...
...
@@ -142,7 +140,7 @@ void XttStreamQt::reconnect(void* data)
strcpy(luri, strm->uri);
}
strm->playbin2->
load(Phonon::MediaSource(QUrl(fl(luri)
)));
strm->playbin2->
setMedia(QUrl(fl(luri
)));
} else {
strm->playbin2->play();
}
...
...
@@ -159,12 +157,13 @@ static void refresh(void* data)
/* This function is called when the pipeline changes states. We use it to
* keep track of the current state. */
void XttStreamQtWidget::state_changed_cb(
Phonon::State new_state, Phonon
::State old_state)
void XttStreamQtWidget::state_changed_cb(
QMediaPlayer::State new_state, QMediaPlayer
::State old_state)
{
if (
new_state == Phonon::ErrorState
) {
printf("Error: %s\n", qPrintable(stream->playbin2->
mediaObject()->
errorString()));
if (
stream->playbin2->error() != QMediaPlayer::Error::NoError
) {
printf("Error: %s\n", qPrintable(stream->playbin2->errorString()));
if (stream->playbin2->mediaObject()->errorType() == Phonon::FatalError) {
if (stream->playbin2->error() == QMediaPlayer::ResourceError ||
stream->playbin2->error() == QMediaPlayer::ServiceMissingError) {
stream->no_uri = 1;
}
...
...
@@ -178,8 +177,8 @@ void XttStreamQtWidget::state_changed_cb(Phonon::State new_state, Phonon::State
stream->reconnect_timerid->add(
int(stream->reconnect_time * 1000), stream->reconnect, stream);
}
if (stream->state ==
Phonon
::StoppedState
&& new_state ==
Phonon
::PausedState) {
if (stream->state ==
QMediaPlayer
::StoppedState
&& new_state ==
QMediaPlayer
::PausedState) {
/* For extra responsiveness, we refresh the GUI as soon as we reach the
* PAUSED state */
refresh_ui(stream);
...
...
@@ -347,9 +346,9 @@ XttStreamQt::XttStreamQt(void* st_parent_ctx, const char* name,
toplevel = new XttStreamQtWidget(this);
/* Create the elements */
playbin2 = new
Phonon::VideoPlayer(toplevel
);
QObject::connect(playbin2
->mediaObject(), SIGNAL(stateChanged(Phonon::State, Phonon
::State)),
toplevel, SLOT(state_changed_cb(
Phonon::State, Phonon
::State)));
playbin2 = new
QMediaPlayer(toplevel, QMediaPlayer::VideoSurface
);
QObject::connect(playbin2
, SIGNAL(stateChanged(QMediaPlayer::State, QMediaPlayer
::State)),
toplevel, SLOT(state_changed_cb(
QMediaPlayer::State, QMediaPlayer
::State)));
/* Set the URI to play, eg "http://192.168.67.248/mjpg/video.mjpg" */
char luri[250];
...
...
@@ -374,7 +373,7 @@ XttStreamQt::XttStreamQt(void* st_parent_ctx, const char* name,
strcpy(luri, uri);
}
playbin2->
load(Phonon::MediaSource(QUrl(fl(luri)
)));
playbin2->
setMedia(QUrl(fl(luri
)));
if (!embedded) {
toplevel->setWindowTitle(QString::fromLatin1(name));
...
...
@@ -496,17 +495,19 @@ XttStreamQt::XttStreamQt(void* st_parent_ctx, const char* name,
}
}
add_expanding(main_layout, playbin2);
QVideoWidget *videoWidget = new QVideoWidget();
add_expanding(main_layout, videoWidget);
playbin2->setVideoOutput(videoWidget);
if (options & strm_mOptions_VideoControlPanel) {
QToolBar* controlbuttons = new QToolBar();
addToolItem(playbin2, controlbuttons, "Play",
SLOT(
Phonon::Video
Player::play()), "$pwr_exe/xtt_play.png");
SLOT(
QMedia
Player::play()), "$pwr_exe/xtt_play.png");
addToolItem(playbin2, controlbuttons, "Pause",
SLOT(
Phonon::Video
Player::pause()), "$pwr_exe/xtt_pause.png");
SLOT(
QMedia
Player::pause()), "$pwr_exe/xtt_pause.png");
addToolItem(playbin2, controlbuttons, "Stop",
SLOT(
Phonon::Video
Player::stop()), "$pwr_exe/xtt_stop.png");
SLOT(
QMedia
Player::stop()), "$pwr_exe/xtt_stop.png");
if (options & strm_mOptions_VideoProgressBar) {
slider = new QSlider(Qt::Horizontal);
...
...
xtt/lib/xtt/qt/xtt_stream_qt.h
View file @
a8ce4023
...
...
@@ -42,19 +42,18 @@
#include "cow_wow_qt.h"
#include <QLabel>
#include <QMediaPlayer>
#include <QMouseEvent>
#include <QResizeEvent>
#include <QToolBar>
#include <QWheelEvent>
#include <phonon/VideoPlayer>
class
XttStreamQtWidget
;
class
XttStreamQt
:
public
XttStream
{
public:
Phonon
::
Video
Player
*
playbin2
;
/* Our one and only pipeline */
Phonon
::
State
state
;
/* Current state of the pipeline */
QMedia
Player
*
playbin2
;
/* Our one and only pipeline */
QMediaPlayer
::
State
state
;
/* Current state of the pipeline */
pwr_tTime
mb_press_time
;
int
mb_press_x
;
int
mb_press_y
;
...
...
@@ -110,7 +109,7 @@ protected:
public
slots
:
void
slider_cb
(
int
value
);
void
state_changed_cb
(
Phonon
::
State
new_state
,
Phonon
::
State
old_state
);
void
state_changed_cb
(
QMediaPlayer
::
State
new_state
,
QMediaPlayer
::
State
old_state
);
void
activate_preset_position
();
void
activate_preset_store_pos
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment