Page Menu
Home
Phabricator (Chris)
Search
Configure Global Search
Log In
Files
F631958
SelectCommandDialog.cpp
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
SelectCommandDialog.cpp
View Options
#include
"SelectCommandDialog.h"
#include
"ui_SelectCommandDialog.h"
#include
<QFileDialog>
QStringList
uniqueStringList
(
const
QStringList
&
list
)
{
QStringList
tmp_list
=
list
;
std
::
sort
(
tmp_list
.
begin
(),
tmp_list
.
end
());
auto
end
=
std
::
unique
(
tmp_list
.
begin
(),
tmp_list
.
end
());
QStringList
ret_list
;
for
(
auto
it
=
tmp_list
.
begin
();
it
!=
end
;
it
++
)
{
ret_list
.
push_back
(
*
it
);
}
return
ret_list
;
}
SelectCommandDialog
::
SelectCommandDialog
(
QWidget
*
parent
,
const
QString
&
cmdname
,
const
QString
&
cmdfile
,
const
QString
&
path
,
const
QStringList
&
list
)
:
QDialog
(
parent
),
ui
(
new
Ui
::
SelectCommandDialog
)
{
ui
->
setupUi
(
this
);
Qt
::
WindowFlags
flags
=
windowFlags
();
flags
|=
Qt
::
WindowContextHelpButtonHint
;
setWindowFlags
(
flags
);
command_name
=
cmdname
;
command_file
=
cmdfile
;
QString
text
=
tr
(
"Please select the '%1' command you want to use."
);
ui
->
label
->
setText
(
text
.
arg
(
cmdfile
));
this
->
path
=
path
;
QStringList
list2
=
uniqueStringList
(
list
);
for
(
QString
const
&
s
:
list2
)
{
ui
->
listWidget
->
addItem
(
s
);
}
ui
->
listWidget
->
setFocus
();
ui
->
listWidget
->
setCurrentRow
(
0
);
}
SelectCommandDialog
::~
SelectCommandDialog
()
{
delete
ui
;
}
void
SelectCommandDialog
::
on_pushButton_browse_clicked
()
{
QString
dir
;
#ifdef _WIN32
QString
filter
=
tr
(
"%1 command (%2);;Executable files (*.exe)"
);
#else
QString
filter
=
tr
(
"%1 command (%2);;All files (*)"
);
#endif
filter
=
filter
.
arg
(
command_name
).
arg
(
command_file
);
QFileDialog
dlg
(
this
);
dlg
.
setWindowTitle
(
tr
(
"%1 command"
).
arg
(
command_name
));
dlg
.
setDirectory
(
dir
);
dlg
.
setNameFilter
(
filter
);
dlg
.
setFilter
(
QDir
::
Dirs
|
QDir
::
Executable
);
dlg
.
setFileMode
(
QFileDialog
::
ExistingFile
);
if
(
dlg
.
exec
()
==
QDialog
::
Accepted
)
{
QStringList
list
=
dlg
.
selectedFiles
();
if
(
list
.
size
()
>
0
)
{
path
=
list
.
first
();
accept
();
}
}
}
void
SelectCommandDialog
::
on_listWidget_currentTextChanged
(
const
QString
&
currentText
)
{
path
=
currentText
;
}
QString
SelectCommandDialog
::
selectedFile
()
const
{
return
path
;
}
void
SelectCommandDialog
::
on_listWidget_itemDoubleClicked
(
QListWidgetItem
*
/*item*/
)
{
accept
();
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Sun, Nov 15, 1:13 PM (1 d, 21 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
132260
Default Alt Text
SelectCommandDialog.cpp (2 KB)
Attached To
Mode
R77 Guitar
Attached
Detach File
Event Timeline