mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 18:40:49 +00:00
(Qt) Cleanups
This commit is contained in:
parent
0d16eb6e10
commit
299875f8b6
@ -2620,7 +2620,7 @@ void ShaderParamsDialog::addShaderParam(struct video_shader_parameter *param, QF
|
|||||||
QSpinBox *spinBox = NULL;
|
QSpinBox *spinBox = NULL;
|
||||||
QHBoxLayout *box = new QHBoxLayout();
|
QHBoxLayout *box = new QHBoxLayout();
|
||||||
QSlider *slider = new QSlider(Qt::Horizontal, this);
|
QSlider *slider = new QSlider(Qt::Horizontal, this);
|
||||||
double value = MainWindow::lerp(
|
double value = lerp(
|
||||||
param->minimum, param->maximum, 0, 100, param->current);
|
param->minimum, param->maximum, 0, 100, param->current);
|
||||||
double intpart = 0;
|
double intpart = 0;
|
||||||
bool stepIsFractional = modf(param->step, &intpart);
|
bool stepIsFractional = modf(param->step, &intpart);
|
||||||
@ -2761,7 +2761,7 @@ void ShaderParamsDialog::onShaderParamSliderValueChanged(int)
|
|||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
newValue = MainWindow::lerp(0, 100, param->minimum, param->maximum, slider->value());
|
newValue = lerp(0, 100, param->minimum, param->maximum, slider->value());
|
||||||
newValue = round(newValue / param->step) * param->step;
|
newValue = round(newValue / param->step) * param->step;
|
||||||
param->current = newValue;
|
param->current = newValue;
|
||||||
}
|
}
|
||||||
@ -2782,7 +2782,7 @@ void ShaderParamsDialog::onShaderParamSliderValueChanged(int)
|
|||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
newValue = MainWindow::lerp(0, 100, param->minimum, param->maximum, slider->value());
|
newValue = lerp(0, 100, param->minimum, param->maximum, slider->value());
|
||||||
newValue = round(newValue / param->step) * param->step;
|
newValue = round(newValue / param->step) * param->step;
|
||||||
param->current = newValue;
|
param->current = newValue;
|
||||||
}
|
}
|
||||||
@ -2864,7 +2864,7 @@ void ShaderParamsDialog::onShaderParamSpinBoxValueChanged(int value)
|
|||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
param->current = value;
|
param->current = value;
|
||||||
newValue = MainWindow::lerp(
|
newValue = lerp(
|
||||||
param->minimum, param->maximum, 0, 100, param->current);
|
param->minimum, param->maximum, 0, 100, param->current);
|
||||||
slider->blockSignals(true);
|
slider->blockSignals(true);
|
||||||
slider->setValue(newValue);
|
slider->setValue(newValue);
|
||||||
@ -2888,7 +2888,7 @@ void ShaderParamsDialog::onShaderParamSpinBoxValueChanged(int value)
|
|||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
param->current = value;
|
param->current = value;
|
||||||
newValue = MainWindow::lerp(
|
newValue = lerp(
|
||||||
param->minimum, param->maximum, 0, 100, param->current);
|
param->minimum, param->maximum, 0, 100, param->current);
|
||||||
slider->blockSignals(true);
|
slider->blockSignals(true);
|
||||||
slider->setValue(newValue);
|
slider->setValue(newValue);
|
||||||
@ -2947,7 +2947,7 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value)
|
|||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
param->current = value;
|
param->current = value;
|
||||||
newValue = MainWindow::lerp(
|
newValue = lerp(
|
||||||
param->minimum, param->maximum, 0, 100, param->current);
|
param->minimum, param->maximum, 0, 100, param->current);
|
||||||
slider->blockSignals(true);
|
slider->blockSignals(true);
|
||||||
slider->setValue(newValue);
|
slider->setValue(newValue);
|
||||||
@ -2971,7 +2971,7 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value)
|
|||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
param->current = value;
|
param->current = value;
|
||||||
newValue = MainWindow::lerp(
|
newValue = lerp(
|
||||||
param->minimum, param->maximum, 0, 100, param->current);
|
param->minimum, param->maximum, 0, 100, param->current);
|
||||||
slider->blockSignals(true);
|
slider->blockSignals(true);
|
||||||
slider->setValue(newValue);
|
slider->setValue(newValue);
|
||||||
|
@ -1021,7 +1021,7 @@ static void scan_finished_handler(retro_task_t *task,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* https://stackoverflow.com/questions/7246622/how-to-create-a-slider-with-a-non-linear-scale */
|
/* https://stackoverflow.com/questions/7246622/how-to-create-a-slider-with-a-non-linear-scale */
|
||||||
static double expScale(double inputValue, double midValue, double maxValue)
|
static double exp_scale(double inputValue, double midValue, double maxValue)
|
||||||
{
|
{
|
||||||
double M = maxValue / midValue;
|
double M = maxValue / midValue;
|
||||||
double base = M - 1;
|
double base = M - 1;
|
||||||
@ -1032,10 +1032,7 @@ static double expScale(double inputValue, double midValue, double maxValue)
|
|||||||
return returnValue;
|
return returnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
TreeView::TreeView(QWidget *parent) :
|
TreeView::TreeView(QWidget *parent) : QTreeView(parent) { }
|
||||||
QTreeView(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void TreeView::columnCountChanged(int oldCount, int newCount)
|
void TreeView::columnCountChanged(int oldCount, int newCount)
|
||||||
{
|
{
|
||||||
@ -1051,20 +1048,14 @@ void TreeView::selectionChanged(const QItemSelection &selected, const QItemSelec
|
|||||||
emit itemsSelected(list);
|
emit itemsSelected(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
TableView::TableView(QWidget *parent) :
|
TableView::TableView(QWidget *parent) : QTableView(parent) { }
|
||||||
QTableView(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TableView::isEditorOpen()
|
bool TableView::isEditorOpen()
|
||||||
{
|
{
|
||||||
return (state() == QAbstractItemView::EditingState);
|
return (state() == QAbstractItemView::EditingState);
|
||||||
}
|
}
|
||||||
|
|
||||||
ListWidget::ListWidget(QWidget *parent) :
|
ListWidget::ListWidget(QWidget *parent) : QListWidget(parent) { }
|
||||||
QListWidget(parent)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ListWidget::isEditorOpen()
|
bool ListWidget::isEditorOpen()
|
||||||
{
|
{
|
||||||
@ -1107,11 +1098,7 @@ void CoreInfoWidget::resizeEvent(QResizeEvent *event)
|
|||||||
m_scrollArea->resize(event->size());
|
m_scrollArea->resize(event->size());
|
||||||
}
|
}
|
||||||
|
|
||||||
LogTextEdit::LogTextEdit(QWidget *parent) :
|
LogTextEdit::LogTextEdit(QWidget *parent) : QPlainTextEdit(parent) { }
|
||||||
QPlainTextEdit(parent)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void LogTextEdit::appendMessage(const QString& text)
|
void LogTextEdit::appendMessage(const QString& text)
|
||||||
{
|
{
|
||||||
@ -1122,7 +1109,7 @@ void LogTextEdit::appendMessage(const QString& text)
|
|||||||
verticalScrollBar()->setValue(verticalScrollBar()->maximum());
|
verticalScrollBar()->setValue(verticalScrollBar()->maximum());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* only accept indexes from current path. https://www.qtcentre.org/threads/50700-QFileSystemModel-and-QSortFilterProxyModel-don-t-work-well-together */
|
/* Only accept indexes from current path. https://www.qtcentre.org/threads/50700-QFileSystemModel-and-QSortFilterProxyModel-don-t-work-well-together */
|
||||||
bool FileSystemProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
|
bool FileSystemProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
|
||||||
{
|
{
|
||||||
QFileSystemModel *sm = qobject_cast<QFileSystemModel*>(sourceModel());
|
QFileSystemModel *sm = qobject_cast<QFileSystemModel*>(sourceModel());
|
||||||
@ -1652,15 +1639,13 @@ void MainWindow::onFileSystemDirLoaded(const QString &path)
|
|||||||
/* workaround for columns being resized */
|
/* workaround for columns being resized */
|
||||||
void MainWindow::onFileBrowserTableDirLoaded(const QString &path)
|
void MainWindow::onFileBrowserTableDirLoaded(const QString &path)
|
||||||
{
|
{
|
||||||
if (path.isEmpty())
|
if (!path.isEmpty())
|
||||||
return;
|
m_fileTableView->horizontalHeader()->restoreState(m_fileTableHeaderState);
|
||||||
|
|
||||||
m_fileTableView->horizontalHeader()->restoreState(m_fileTableHeaderState);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QVector<QPair<QString, QString> > MainWindow::getPlaylists()
|
QVector<QPair<QString, QString> > MainWindow::getPlaylists()
|
||||||
{
|
{
|
||||||
unsigned i;
|
int i;
|
||||||
QVector<QPair<QString, QString> > playlists;
|
QVector<QPair<QString, QString> > playlists;
|
||||||
size_t size = m_listWidget->count();
|
size_t size = m_listWidget->count();
|
||||||
|
|
||||||
@ -1707,20 +1692,8 @@ QString MainWindow::getSpecialPlaylistPath(SpecialPlaylist playlist)
|
|||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
|
|
||||||
double MainWindow::lerp(double x, double y, double a, double b, double d)
|
void MainWindow::onIconViewClicked() { setCurrentViewType(VIEW_TYPE_ICONS); }
|
||||||
{
|
void MainWindow::onListViewClicked() { setCurrentViewType(VIEW_TYPE_LIST); }
|
||||||
return a + (b - a) * ((double)(d - x) / (double)(y - x));
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::onIconViewClicked()
|
|
||||||
{
|
|
||||||
setCurrentViewType(VIEW_TYPE_ICONS);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::onListViewClicked()
|
|
||||||
{
|
|
||||||
setCurrentViewType(VIEW_TYPE_LIST);
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainWindow::onBoxartThumbnailClicked()
|
void MainWindow::onBoxartThumbnailClicked()
|
||||||
{
|
{
|
||||||
@ -1744,13 +1717,13 @@ void MainWindow::setIconViewZoom(int zoomValue)
|
|||||||
|
|
||||||
void MainWindow::onZoomValueChanged(int zoomValue)
|
void MainWindow::onZoomValueChanged(int zoomValue)
|
||||||
{
|
{
|
||||||
int newSize = 0;
|
int newSize = 0;
|
||||||
|
|
||||||
if (zoomValue < 50)
|
if (zoomValue < 50)
|
||||||
newSize = expScale(
|
newSize = exp_scale(
|
||||||
lerp(0, 49, 25, 49, zoomValue) / 50.0, 102, 256);
|
lerp(0, 49, 25, 49, zoomValue) / 50.0, 102, 256);
|
||||||
else
|
else
|
||||||
newSize = expScale(zoomValue / 100.0, 256, 1024);
|
newSize = exp_scale(zoomValue / 100.0, 256, 1024);
|
||||||
|
|
||||||
m_gridView->setGridSize(newSize);
|
m_gridView->setGridSize(newSize);
|
||||||
|
|
||||||
@ -1759,7 +1732,7 @@ void MainWindow::onZoomValueChanged(int zoomValue)
|
|||||||
|
|
||||||
void MainWindow::showWelcomeScreen()
|
void MainWindow::showWelcomeScreen()
|
||||||
{
|
{
|
||||||
bool dontAsk = false;
|
bool dont_ask = false;
|
||||||
bool answer = false;
|
bool answer = false;
|
||||||
const QString welcomeText = QStringLiteral(""
|
const QString welcomeText = QStringLiteral(""
|
||||||
"Welcome to the RetroArch Desktop Menu!<br>\n"
|
"Welcome to the RetroArch Desktop Menu!<br>\n"
|
||||||
@ -1782,9 +1755,11 @@ void MainWindow::showWelcomeScreen()
|
|||||||
if (!m_settings->value("show_welcome_screen", true).toBool())
|
if (!m_settings->value("show_welcome_screen", true).toBool())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
answer = showMessageBox(welcomeText, MainWindow::MSGBOX_TYPE_QUESTION_OKCANCEL, Qt::ApplicationModal, true, &dontAsk);
|
answer = showMessageBox(welcomeText,
|
||||||
|
MainWindow::MSGBOX_TYPE_QUESTION_OKCANCEL, Qt::ApplicationModal,
|
||||||
|
true, &dont_ask);
|
||||||
|
|
||||||
if (answer && dontAsk)
|
if (answer && dont_ask)
|
||||||
m_settings->setValue("show_welcome_screen", false);
|
m_settings->setValue("show_welcome_screen", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1842,7 +1817,8 @@ void MainWindow::setCustomThemeString(QString qss)
|
|||||||
m_customThemeString = qss;
|
m_customThemeString = qss;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MainWindow::showMessageBox(QString msg, MessageBoxType msgType, Qt::WindowModality modality, bool showDontAsk, bool *dontAsk)
|
bool MainWindow::showMessageBox(QString msg, MessageBoxType msgType,
|
||||||
|
Qt::WindowModality modality, bool showDontAsk, bool *dont_ask)
|
||||||
{
|
{
|
||||||
QCheckBox *checkBox = NULL;
|
QCheckBox *checkBox = NULL;
|
||||||
|
|
||||||
@ -1900,8 +1876,8 @@ bool MainWindow::showMessageBox(QString msg, MessageBoxType msgType, Qt::WindowM
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (checkBox)
|
if (checkBox)
|
||||||
if (dontAsk)
|
if (dont_ask)
|
||||||
*dontAsk = checkBox->isChecked();
|
*dont_ask = checkBox->isChecked();
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1935,9 +1911,7 @@ void MainWindow::onFileBrowserTreeContextMenuRequested(const QPoint&)
|
|||||||
|
|
||||||
actions.append(scanAction.data());
|
actions.append(scanAction.data());
|
||||||
|
|
||||||
action = QMenu::exec(actions, QCursor::pos(), NULL, m_dirTree);
|
if (!(action = QMenu::exec(actions, QCursor::pos(), NULL, m_dirTree)))
|
||||||
|
|
||||||
if (!action)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
dirArray = currentDirString.toUtf8();
|
dirArray = currentDirString.toUtf8();
|
||||||
@ -1961,31 +1935,25 @@ void MainWindow::showStatusMessage(QString msg,
|
|||||||
void MainWindow::onGotStatusMessage(
|
void MainWindow::onGotStatusMessage(
|
||||||
QString msg, unsigned priority, unsigned duration, bool flush)
|
QString msg, unsigned priority, unsigned duration, bool flush)
|
||||||
{
|
{
|
||||||
int msecDuration = 0;
|
|
||||||
QScreen *screen = qApp->primaryScreen();
|
|
||||||
QStatusBar *status = statusBar();
|
QStatusBar *status = statusBar();
|
||||||
|
|
||||||
Q_UNUSED(priority)
|
if (msg.isEmpty() || !status)
|
||||||
|
|
||||||
if (msg.isEmpty())
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!status)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (screen)
|
|
||||||
msecDuration = (duration / screen->refreshRate()) * 1000;
|
|
||||||
|
|
||||||
if (msecDuration <= 0)
|
|
||||||
msecDuration = 1000;
|
|
||||||
|
|
||||||
if (status->currentMessage().isEmpty() || flush)
|
if (status->currentMessage().isEmpty() || flush)
|
||||||
{
|
{
|
||||||
if (m_statusMessageElapsedTimer.elapsed() >= STATUS_MSG_THROTTLE_MSEC)
|
if (m_statusMessageElapsedTimer.elapsed() >= STATUS_MSG_THROTTLE_MSEC)
|
||||||
{
|
{
|
||||||
qint64 msgDuration = qMax(msecDuration, STATUS_MSG_THROTTLE_MSEC);
|
qint64 msg_duration;
|
||||||
|
QScreen *screen = qApp->primaryScreen();
|
||||||
|
int msec_duration = 0;
|
||||||
|
if (screen)
|
||||||
|
msec_duration = (duration / screen->refreshRate()) * 1000;
|
||||||
|
if (msec_duration <= 0)
|
||||||
|
msec_duration = 1000;
|
||||||
|
msg_duration = qMax(msec_duration, STATUS_MSG_THROTTLE_MSEC);
|
||||||
m_statusMessageElapsedTimer.restart();
|
m_statusMessageElapsedTimer.restart();
|
||||||
status->showMessage(msg, msgDuration);
|
status->showMessage(msg, msg_duration);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2187,13 +2155,12 @@ QString MainWindow::changeThumbnail(const QImage &image, QString type)
|
|||||||
|
|
||||||
if (!dir.exists())
|
if (!dir.exists())
|
||||||
{
|
{
|
||||||
if (dir.mkpath("."))
|
if (!dir.mkpath("."))
|
||||||
RARCH_LOG("[Qt]: Created directory: %s\n", dirData);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
RARCH_ERR("[Qt]: Could not create directory: %s\n", dirData);
|
RARCH_ERR("[Qt]: Could not create directory: %s\n", dirData);
|
||||||
return QString();
|
return QString();
|
||||||
}
|
}
|
||||||
|
RARCH_LOG("[Qt]: Created directory: %s\n", dirData);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_settings->contains("thumbnail_max_size"))
|
if (m_settings->contains("thumbnail_max_size"))
|
||||||
@ -2758,8 +2725,7 @@ void MainWindow::loadContent(const QHash<QString, QString> &contentHash)
|
|||||||
|
|
||||||
if (m_pendingRun)
|
if (m_pendingRun)
|
||||||
coreSelection = CORE_SELECTION_CURRENT;
|
coreSelection = CORE_SELECTION_CURRENT;
|
||||||
|
else if (coreSelection == CORE_SELECTION_ASK)
|
||||||
if (coreSelection == CORE_SELECTION_ASK)
|
|
||||||
{
|
{
|
||||||
QStringList extensionFilters;
|
QStringList extensionFilters;
|
||||||
|
|
||||||
@ -2920,26 +2886,8 @@ void MainWindow::onRunClicked()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (contentHash.isEmpty())
|
if (!contentHash.isEmpty())
|
||||||
return;
|
loadContent(contentHash);
|
||||||
|
|
||||||
loadContent(contentHash);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MainWindow::isContentLessCore()
|
|
||||||
{
|
|
||||||
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
|
||||||
|
|
||||||
return system->load_no_content;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MainWindow::isCoreLoaded()
|
|
||||||
{
|
|
||||||
if ( m_currentCore.isEmpty() ||
|
|
||||||
m_currentCore == msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORE))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
PlaylistEntryDialog* MainWindow::playlistEntryDialog()
|
PlaylistEntryDialog* MainWindow::playlistEntryDialog()
|
||||||
@ -2958,15 +2906,18 @@ void MainWindow::setCoreActions()
|
|||||||
ViewType viewType = getCurrentViewType();
|
ViewType viewType = getCurrentViewType();
|
||||||
QHash<QString, QString> hash = getCurrentContentHash();
|
QHash<QString, QString> hash = getCurrentContentHash();
|
||||||
QString currentPlaylistFileName = QString();
|
QString currentPlaylistFileName = QString();
|
||||||
|
rarch_system_info_t *system = &runloop_state_get_ptr()->system;
|
||||||
|
|
||||||
m_launchWithComboBox->clear();
|
m_launchWithComboBox->clear();
|
||||||
|
|
||||||
if (isContentLessCore())
|
if (system->load_no_content) /* Is contentless core? */
|
||||||
m_startCorePushButton->show();
|
m_startCorePushButton->show();
|
||||||
else
|
else
|
||||||
m_startCorePushButton->hide();
|
m_startCorePushButton->hide();
|
||||||
|
|
||||||
if ( isCoreLoaded()
|
/* Is core loaded? */
|
||||||
|
if ( !m_currentCore.isEmpty()
|
||||||
|
&& m_currentCore != msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_CORE)
|
||||||
&& m_settings->value("suggest_loaded_core_first", false).toBool())
|
&& m_settings->value("suggest_loaded_core_first", false).toBool())
|
||||||
{
|
{
|
||||||
QVariantMap comboBoxMap;
|
QVariantMap comboBoxMap;
|
||||||
@ -3339,7 +3290,6 @@ void MainWindow::renamePlaylistItem(QListWidgetItem *item, QString newName)
|
|||||||
QFileInfo info;
|
QFileInfo info;
|
||||||
QFileInfo playlistInfo;
|
QFileInfo playlistInfo;
|
||||||
QString playlistPath;
|
QString playlistPath;
|
||||||
bool specialPlaylist = false;
|
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
const char *path_dir_playlist = settings->paths.directory_playlist;
|
const char *path_dir_playlist = settings->paths.directory_playlist;
|
||||||
QDir playlistDir(path_dir_playlist);
|
QDir playlistDir(path_dir_playlist);
|
||||||
@ -3353,22 +3303,17 @@ void MainWindow::renamePlaylistItem(QListWidgetItem *item, QString newName)
|
|||||||
|
|
||||||
/* Don't just compare strings in case there are
|
/* Don't just compare strings in case there are
|
||||||
* case differences on Windows that should be ignored. */
|
* case differences on Windows that should be ignored. */
|
||||||
|
/* special playlists like history etc. can't have an association */
|
||||||
if (QDir(playlistInfo.absoluteDir()) != QDir(playlistDir))
|
if (QDir(playlistInfo.absoluteDir()) != QDir(playlistDir))
|
||||||
{
|
{
|
||||||
/* special playlists like history etc. can't have an association */
|
/* Special playlists shouldn't be editable already,
|
||||||
specialPlaylist = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (specialPlaylist)
|
|
||||||
{
|
|
||||||
/* special playlists shouldn't be editable already,
|
|
||||||
* but just in case, set the old name back and
|
* but just in case, set the old name back and
|
||||||
* early return if they rename it */
|
* early return if they rename it */
|
||||||
item->setText(oldName);
|
item->setText(oldName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* block this signal because setData() would trigger
|
/* Block this signal because setData() would trigger
|
||||||
* an infinite loop here */
|
* an infinite loop here */
|
||||||
disconnect(m_listWidget, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(onCurrentListItemDataChanged(QListWidgetItem*)));
|
disconnect(m_listWidget, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(onCurrentListItemDataChanged(QListWidgetItem*)));
|
||||||
|
|
||||||
@ -3779,7 +3724,7 @@ void MainWindow::initContentTableWidget()
|
|||||||
|
|
||||||
if (path == ALL_PLAYLISTS_TOKEN)
|
if (path == ALL_PLAYLISTS_TOKEN)
|
||||||
{
|
{
|
||||||
unsigned i;
|
int i;
|
||||||
settings_t *settings = config_get_ptr();
|
settings_t *settings = config_get_ptr();
|
||||||
QDir playlistDir(settings->paths.directory_playlist);
|
QDir playlistDir(settings->paths.directory_playlist);
|
||||||
QStringList playlists;
|
QStringList playlists;
|
||||||
@ -3965,7 +3910,7 @@ void MainWindow::onShowInfoMessage(QString msg)
|
|||||||
|
|
||||||
int MainWindow::onExtractArchive(QString path, QString extractionDir, QString tempExtension, retro_task_callback_t cb)
|
int MainWindow::onExtractArchive(QString path, QString extractionDir, QString tempExtension, retro_task_callback_t cb)
|
||||||
{
|
{
|
||||||
unsigned i;
|
int i;
|
||||||
file_archive_transfer_t state;
|
file_archive_transfer_t state;
|
||||||
struct archive_extract_userdata userdata;
|
struct archive_extract_userdata userdata;
|
||||||
QByteArray pathArray = path.toUtf8();
|
QByteArray pathArray = path.toUtf8();
|
||||||
@ -3973,7 +3918,6 @@ int MainWindow::onExtractArchive(QString path, QString extractionDir, QString te
|
|||||||
const char *file = pathArray.constData();
|
const char *file = pathArray.constData();
|
||||||
const char *dir = dirArray.constData();
|
const char *dir = dirArray.constData();
|
||||||
struct string_list *file_list = file_archive_get_file_list(file, NULL);
|
struct string_list *file_list = file_archive_get_file_list(file, NULL);
|
||||||
bool returnerr = true;
|
|
||||||
retro_task_t *decompress_task = NULL;
|
retro_task_t *decompress_task = NULL;
|
||||||
|
|
||||||
if (!file_list || file_list->size == 0)
|
if (!file_list || file_list->size == 0)
|
||||||
@ -4031,18 +3975,16 @@ int MainWindow::onExtractArchive(QString path, QString extractionDir, QString te
|
|||||||
m_updateProgressDialog->setCancelButtonText(QString());
|
m_updateProgressDialog->setCancelButtonText(QString());
|
||||||
m_updateProgressDialog->show();
|
m_updateProgressDialog->show();
|
||||||
|
|
||||||
decompress_task = (retro_task_t*)task_push_decompress(
|
if (!(decompress_task = (retro_task_t*)task_push_decompress(
|
||||||
file, dir,
|
file, dir,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
cb, this, NULL, false);
|
cb, this, NULL, false)))
|
||||||
|
|
||||||
if (!decompress_task)
|
|
||||||
{
|
{
|
||||||
m_updateProgressDialog->cancel();
|
m_updateProgressDialog->cancel();
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return returnerr;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MainWindow::getScrubbedString(QString str)
|
QString MainWindow::getScrubbedString(QString str)
|
||||||
@ -4065,6 +4007,7 @@ static void* ui_window_qt_init(void)
|
|||||||
|
|
||||||
static void ui_window_qt_destroy(void *data)
|
static void ui_window_qt_destroy(void *data)
|
||||||
{
|
{
|
||||||
|
/* TODO/FIXME - implement? */
|
||||||
#if 0
|
#if 0
|
||||||
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
||||||
|
|
||||||
@ -4074,6 +4017,7 @@ static void ui_window_qt_destroy(void *data)
|
|||||||
|
|
||||||
static void ui_window_qt_set_focused(void *data)
|
static void ui_window_qt_set_focused(void *data)
|
||||||
{
|
{
|
||||||
|
/* TODO/FIXME - implement */
|
||||||
#if 0
|
#if 0
|
||||||
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
||||||
|
|
||||||
@ -4085,13 +4029,12 @@ static void ui_window_qt_set_focused(void *data)
|
|||||||
static void ui_window_qt_set_visible(void *data,
|
static void ui_window_qt_set_visible(void *data,
|
||||||
bool set_visible)
|
bool set_visible)
|
||||||
{
|
{
|
||||||
(void)data;
|
/* TODO/FIXME - implement */
|
||||||
(void)set_visible;
|
|
||||||
/* TODO/FIXME */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ui_window_qt_set_title(void *data, char *buf)
|
static void ui_window_qt_set_title(void *data, char *buf)
|
||||||
{
|
{
|
||||||
|
/* TODO/FIXME - implement? */
|
||||||
#if 0
|
#if 0
|
||||||
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
||||||
|
|
||||||
@ -4101,6 +4044,7 @@ static void ui_window_qt_set_title(void *data, char *buf)
|
|||||||
|
|
||||||
static void ui_window_qt_set_droppable(void *data, bool droppable)
|
static void ui_window_qt_set_droppable(void *data, bool droppable)
|
||||||
{
|
{
|
||||||
|
/* TODO/FIXME - implement */
|
||||||
#if 0
|
#if 0
|
||||||
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
||||||
|
|
||||||
@ -4110,6 +4054,7 @@ static void ui_window_qt_set_droppable(void *data, bool droppable)
|
|||||||
|
|
||||||
static bool ui_window_qt_focused(void *data)
|
static bool ui_window_qt_focused(void *data)
|
||||||
{
|
{
|
||||||
|
/* TODO/FIXME - implement? */
|
||||||
#if 0
|
#if 0
|
||||||
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
ui_window_qt_t *window = (ui_window_qt_t*)data;
|
||||||
return window->qtWindow->isActiveWindow() && !window->qtWindow->isMinimized();
|
return window->qtWindow->isActiveWindow() && !window->qtWindow->isMinimized();
|
||||||
@ -4326,9 +4271,7 @@ bool AppHandler::isExiting() const
|
|||||||
return ui_application_qt.exiting;
|
return ui_application_qt.exiting;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AppHandler::onLastWindowClosed()
|
void AppHandler::onLastWindowClosed() { }
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct ui_companion_qt
|
typedef struct ui_companion_qt
|
||||||
{
|
{
|
||||||
@ -5010,13 +4953,7 @@ void ui_companion_qt_msg_queue_push(void *data,
|
|||||||
{
|
{
|
||||||
ui_companion_qt_t *handle = (ui_companion_qt_t*)data;
|
ui_companion_qt_t *handle = (ui_companion_qt_t*)data;
|
||||||
ui_window_qt_t *win_handle = NULL;
|
ui_window_qt_t *win_handle = NULL;
|
||||||
|
if (handle && (win_handle = (ui_window_qt_t*)handle->window))
|
||||||
if (!handle)
|
|
||||||
return;
|
|
||||||
|
|
||||||
win_handle = (ui_window_qt_t*)handle->window;
|
|
||||||
|
|
||||||
if (win_handle)
|
|
||||||
win_handle->qtWindow->showStatusMessage(msg, priority, duration, flush);
|
win_handle->qtWindow->showStatusMessage(msg, priority, duration, flush);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,6 +120,11 @@ enum ThumbnailType
|
|||||||
THUMBNAIL_TYPE_TITLE_SCREEN,
|
THUMBNAIL_TYPE_TITLE_SCREEN,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline double lerp(double x, double y, double a, double b, double d)
|
||||||
|
{
|
||||||
|
return a + (b - a) * ((double)(d - x) / (double)(y - x));
|
||||||
|
}
|
||||||
|
|
||||||
class PlaylistModel : public QAbstractListModel
|
class PlaylistModel : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
@ -398,7 +403,6 @@ public:
|
|||||||
QModelIndex getCurrentContentIndex();
|
QModelIndex getCurrentContentIndex();
|
||||||
QHash<QString, QString> getCurrentContentHash();
|
QHash<QString, QString> getCurrentContentHash();
|
||||||
QHash<QString, QString> getFileContentHash(const QModelIndex &index);
|
QHash<QString, QString> getFileContentHash(const QModelIndex &index);
|
||||||
static double lerp(double x, double y, double a, double b, double d);
|
|
||||||
QString getSpecialPlaylistPath(SpecialPlaylist playlist);
|
QString getSpecialPlaylistPath(SpecialPlaylist playlist);
|
||||||
QVector<QPair<QString, QString> > getPlaylists();
|
QVector<QPair<QString, QString> > getPlaylists();
|
||||||
QString getScrubbedString(QString str);
|
QString getScrubbedString(QString str);
|
||||||
@ -533,10 +537,7 @@ private slots:
|
|||||||
private:
|
private:
|
||||||
void setCurrentCoreLabel();
|
void setCurrentCoreLabel();
|
||||||
void getPlaylistFiles();
|
void getPlaylistFiles();
|
||||||
bool isCoreLoaded();
|
|
||||||
bool isContentLessCore();
|
|
||||||
bool updateCurrentPlaylistEntry(const QHash<QString, QString> &contentHash);
|
bool updateCurrentPlaylistEntry(const QHash<QString, QString> &contentHash);
|
||||||
int extractArchive(QString path);
|
|
||||||
bool addDirectoryFilesToList(QProgressDialog *dialog, QStringList &list, QDir &dir, QStringList &extensions);
|
bool addDirectoryFilesToList(QProgressDialog *dialog, QStringList &list, QDir &dir, QStringList &extensions);
|
||||||
void renamePlaylistItem(QListWidgetItem *item, QString newName);
|
void renamePlaylistItem(QListWidgetItem *item, QString newName);
|
||||||
bool currentPlaylistIsSpecial();
|
bool currentPlaylistIsSpecial();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user