Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
videolan
vlc
Commits
3e8d0beb
Commit
3e8d0beb
authored
Nov 05, 2007
by
Jean-Baptiste Kempf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Qt4 - Improve the hotkeys preferences.
parent
d5107810
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
16 deletions
+61
-16
modules/gui/qt4/components/preferences_widgets.cpp
modules/gui/qt4/components/preferences_widgets.cpp
+46
-14
modules/gui/qt4/components/preferences_widgets.hpp
modules/gui/qt4/components/preferences_widgets.hpp
+15
-2
No files found.
modules/gui/qt4/components/preferences_widgets.cpp
View file @
3e8d0beb
...
...
@@ -978,31 +978,35 @@ KeySelectorControl::KeySelectorControl( vlc_object_t *_p_this,
{
QWidget
*
keyContainer
=
new
QWidget
;
QGridLayout
*
gLayout
=
new
QGridLayout
(
keyContainer
);
label
=
new
QLabel
(
qtr
(
"Select an action to change the associated hotkey"
)
);
label
=
new
QLabel
(
qtr
(
"Select an action to change the associated hotkey"
)
);
/* Deactivated for now
QLabel *searchLabel = new QLabel( qtr( "Search" ) );
QLineEdit *actionSearch = new QLineEdit;*/
table
=
new
QTreeWidget
;
table
->
setColumnCount
(
2
);
table
->
headerItem
()
->
setText
(
0
,
qtr
(
"Action"
)
);
table
->
headerItem
()
->
setText
(
1
,
qtr
(
"Shortcut"
)
);
QLineEdit
*
shortcutValue
=
new
QLine
Edit
;
shortcutValue
=
new
KeyShortcut
Edit
;
shortcutValue
->
setReadOnly
(
true
);
QLineEdit
*
actionSearch
=
new
QLineEdit
;
QPushButton
*
clearButton
=
new
QPushButton
(
qtr
(
"Clear"
)
);
QPushButton
*
setButton
=
new
QPushButton
(
qtr
(
"Set"
)
);
finish
();
gLayout
->
addWidget
(
label
,
0
,
0
,
1
,
4
);
/* deactivated for now
gLayout->addWidget( searchLabel, 1, 0, 1, 2 );
gLayout
->
addWidget
(
actionSearch
,
1
,
2
,
1
,
2
);
gLayout->addWidget( actionSearch, 1, 2, 1, 2 );
*/
gLayout
->
addWidget
(
table
,
2
,
0
,
1
,
4
);
gLayout
->
addWidget
(
clearButton
,
3
,
0
,
1
,
1
);
gLayout
->
addWidget
(
shortcutValue
,
3
,
1
,
1
,
2
);
gLayout
->
addWidget
(
setButton
,
3
,
3
,
1
,
1
);
if
(
!
l
)
/* This shouldn't happen */
{
QVBoxLayout
*
layout
=
new
QVBoxLayout
();
...
...
@@ -1013,6 +1017,8 @@ KeySelectorControl::KeySelectorControl( vlc_object_t *_p_this,
{
l
->
addWidget
(
keyContainer
,
0
,
0
,
1
,
2
);
}
CONNECT
(
clearButton
,
clicked
(),
shortcutValue
,
clear
()
);
BUTTONACT
(
setButton
,
setTheKey
()
);
}
void
KeySelectorControl
::
finish
()
...
...
@@ -1045,16 +1051,31 @@ void KeySelectorControl::finish()
}
table
->
resizeColumnToContents
(
0
);
CONNECT
(
table
,
itemClicked
(
QTreeWidgetItem
*
,
int
),
this
,
select1Key
(
QTreeWidgetItem
*
)
);
CONNECT
(
table
,
itemDoubleClicked
(
QTreeWidgetItem
*
,
int
),
this
,
selectKey
(
QTreeWidgetItem
*
)
);
CONNECT
(
shortcutValue
,
pressed
(),
this
,
selectKey
()
);
}
void
KeySelectorControl
::
select1Key
(
QTreeWidgetItem
*
keyItem
)
{
shortcutValue
->
setText
(
keyItem
->
text
(
1
)
);
}
void
KeySelectorControl
::
selectKey
(
QTreeWidgetItem
*
keyItem
)
{
module_config_t
*
p_keyItem
=
static_cast
<
module_config_t
*>
/* This happens when triggered by ClickEater */
if
(
keyItem
==
NULL
)
keyItem
=
table
->
currentItem
();
/* This can happen when nothing is selected on the treeView
and the shortcutValue is clicked */
if
(
!
keyItem
)
return
;
module_config_t
*
p_keyItem
=
static_cast
<
module_config_t
*>
(
keyItem
->
data
(
0
,
Qt
::
UserRole
).
value
<
void
*>
());
KeyInputDialog
*
d
=
new
KeyInputDialog
(
values
,
p_keyItem
->
psz_text
);
KeyInputDialog
*
d
=
new
KeyInputDialog
(
values
,
p_keyItem
->
psz_text
,
widget
);
d
->
exec
();
if
(
d
->
result
()
==
QDialog
::
Accepted
)
{
...
...
@@ -1068,15 +1089,20 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem )
(
it
->
data
(
0
,
Qt
::
UserRole
).
value
<
void
*>
());
if
(
p_keyItem
!=
p_item
&&
p_item
->
value
.
i
==
d
->
keyValue
)
p_item
->
value
.
i
=
0
;
it
->
setText
(
1
,
VLCKeyToString
(
p_item
->
value
.
i
)
);
shortcutValue
->
setText
(
VLCKeyToString
(
p_item
->
value
.
i
)
);
}
}
else
keyItem
->
setText
(
1
,
VLCKeyToString
(
p_keyItem
->
value
.
i
)
);
shortcutValue
->
setText
(
VLCKeyToString
(
p_keyItem
->
value
.
i
)
);
}
delete
d
;
}
void
KeySelectorControl
::
setTheKey
()
{
table
->
currentItem
()
->
setText
(
1
,
shortcutValue
->
text
()
);
}
void
KeySelectorControl
::
doApply
()
{
foreach
(
module_config_t
*
p_current
,
values
)
...
...
@@ -1086,8 +1112,9 @@ void KeySelectorControl::doApply()
}
KeyInputDialog
::
KeyInputDialog
(
QList
<
module_config_t
*>&
_values
,
const
char
*
_keyToChange
)
:
QDialog
(
0
),
keyValue
(
0
)
const
char
*
_keyToChange
,
QWidget
*
_parent
)
:
QDialog
(
_parent
),
keyValue
(
0
)
{
setModal
(
true
);
values
=
_values
;
...
...
@@ -1151,3 +1178,8 @@ void KeyInputDialog::wheelEvent( QWheelEvent *e )
checkForConflicts
(
i_vlck
);
keyValue
=
i_vlck
;
}
void
KeyShortcutEdit
::
mousePressEvent
(
QMouseEvent
*
)
{
emit
pressed
();
}
modules/gui/qt4/components/preferences_widgets.hpp
View file @
3e8d0beb
...
...
@@ -412,7 +412,7 @@ private slot:
class
KeyInputDialog
:
public
QDialog
{
public:
KeyInputDialog
(
QList
<
module_config_t
*>
&
,
const
char
*
);
KeyInputDialog
(
QList
<
module_config_t
*>
&
,
const
char
*
,
QWidget
*
);
int
keyValue
;
bool
conflicts
;
private:
...
...
@@ -425,6 +425,15 @@ private:
QList
<
module_config_t
*>
values
;
};
class
KeyShortcutEdit
:
public
QLineEdit
{
Q_OBJECT
private:
virtual
void
mousePressEvent
(
QMouseEvent
*
event
);
signals:
void
pressed
();
};
class
KeySelectorControl
:
public
ConfigControl
{
Q_OBJECT
;
...
...
@@ -440,9 +449,13 @@ private:
void
finish
();
QLabel
*
label
;
QTreeWidget
*
table
;
KeyShortcutEdit
*
shortcutValue
;
QList
<
module_config_t
*>
values
;
//QWidget *parent;
private
slots
:
void
selectKey
(
QTreeWidgetItem
*
);
void
setTheKey
();
void
selectKey
(
QTreeWidgetItem
*
=
NULL
);
void
select1Key
(
QTreeWidgetItem
*
);
};
#endif
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