Skip to content
Snippets Groups Projects
Commit cebf83a2 authored by Rohan Rajpal's avatar Rohan Rajpal Committed by Jean-Baptiste Kempf
Browse files

qt: Add multiple config support to playercontrolbarmodel


Extend player controlbar model to support different configs

Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 12bd31db
No related branches found
No related tags found
No related merge requests found
......@@ -21,21 +21,17 @@
#include "playercontrolbarmodel.hpp"
#define MAIN_TB1_DEFAULT "20;21;65;17;3;0-2;1-2;4;18;65;33;7"
#define MINI_TB_DEFAULT "17;3;0;1;4;18"
PlayerControlBarModel::PlayerControlBarModel(QObject *_parent) : QAbstractListModel(_parent)
{
}
void PlayerControlBarModel::loadConfig()
{
QString config = getSettings() ->value( "MainWindow/PlayerControlToolbar1", MAIN_TB1_DEFAULT )
.toString();
parseAndAdd(config);
configName = "MainPlayerToolbar";
defaultConfig = MAIN_TB1_DEFAULT;
}
void PlayerControlBarModel::saveConfig()
{
getSettings()->setValue("MainWindow/PlayerControlToolbar1",getConfig());
getSettings()->setValue(configName,getConfig());
}
QString PlayerControlBarModel::getConfig()
......@@ -62,7 +58,7 @@ void PlayerControlBarModel::reloadModel()
{
beginResetModel();
mButtons.clear();
QString config = getSettings() ->value( "MainWindow/PlayerControlToolbar1", MAIN_TB1_DEFAULT )
QString config = getSettings() ->value( configName, defaultConfig )
.toString();
parseAndAdd(config);
endResetModel();
......@@ -190,7 +186,18 @@ void PlayerControlBarModel::setMainCtx(QmlMainContext* ctx)
p_intf = temp_intf;
else
return;
loadConfig();
}
void PlayerControlBarModel::setConfigName(QString name)
{
if(configName == name)
return;
configName = name;
if(configName == "MainPlayerToolbar")
defaultConfig = MAIN_TB1_DEFAULT;
else
defaultConfig = MINI_TB_DEFAULT;
emit configNameChanged(name);
}
void PlayerControlBarModel::insert(int index, QVariantMap bdata)
......
......@@ -28,6 +28,7 @@ class PlayerControlBarModel : public QAbstractListModel
{
Q_OBJECT
Q_PROPERTY(QmlMainContext* mainCtx READ getMainCtx WRITE setMainCtx NOTIFY ctxChanged)
Q_PROPERTY(QString configName READ getConfigName WRITE setConfigName NOTIFY configNameChanged)
public:
explicit PlayerControlBarModel(QObject *_parent = nullptr);
......@@ -101,14 +102,20 @@ public:
inline QmlMainContext* getMainCtx() const { return m_mainCtx; }
void setMainCtx(QmlMainContext*);
inline QString getConfigName() { return configName; }
void setConfigName(QString name);
signals:
void ctxChanged(QmlMainContext*);
void configNameChanged(QString);
protected:
intf_thread_t *p_intf;
private:
QVector<IconToolButton> mButtons;
QString configName;
QString defaultConfig;
void parseAndAdd(QString& config);
......
......@@ -193,6 +193,9 @@ Rectangle{
PlayerControlBarModel {
id: playerControlBarModel
mainCtx: mainctx
configName: "MainPlayerToolbar"
/* Load the model when mainctx is set */
Component.onCompleted: reloadModel()
}
Player.ControlButtons{
......
......@@ -131,6 +131,9 @@ Utils.NavigableFocusScope {
PlayerControlBarModel{
id:playerControlBarModel
mainCtx: mainctx
configName: "MainPlayerToolbar"
/* Load the model when mainctx is set */
Component.onCompleted: reloadModel()
}
ControlButtons{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment