Skip to content

Instantly share code, notes, and snippets.

@mkhahani
Last active December 27, 2015 10:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mkhahani/7314849 to your computer and use it in GitHub Desktop.
Save mkhahani/7314849 to your computer and use it in GitHub Desktop.
Last working directory
void MainWindow::slotChannelsUploadFile(bool /*checked =false */)
{
int channelid = m_filesmodel->getChannelID();
if(channelid>0)
{
QString filename = QFileDialog::getOpenFileName(this, tr("Open File"),
ttSettings->value(SETTINGS_GENERAL_LAST_DIR, QDir::homePath()).toString()
/*, tr("All Files (*.*)")*/);
if (filename.isEmpty()) {
return;
}
ttSettings->setValue(SETTINGS_GENERAL_LAST_DIR, QFileInfo(filename).absolutePath());
QStringList files;
files.push_back(filename);
slotUploadFiles(files);
}
}
----------------------------------------------------------------------
void MainWindow::slotChannelsDownloadFile(bool /*checked =false */)
{
int fileid = (int)ui.filesView->currentIndex().internalId();
int channelid = m_filesmodel->getChannelID();
FileInfo fileinfo;
if(fileid>0 && channelid>0 &&
TT_GetChannelFileInfo(ttInst, channelid, fileid, &fileinfo))
{
QDir lastDir(ttSettings->value(SETTINGS_GENERAL_LAST_DIR, QDir::homePath()).toString());
QString filename = QFileDialog::getSaveFileName(this, tr("Save File"),
lastDir.filePath(_Q(fileinfo.szFileName))
/*, tr("All Files (*.*)")*/);
if (filename.isEmpty()) {
return;
}
filename = lastDir.toNativeSeparators(filename);
ttSettings->setValue(SETTINGS_GENERAL_LAST_DIR, QFileInfo(filename).absolutePath());
if (!TT_DoRecvFile(ttInst, channelid, fileid, _W(filename))) {
QMessageBox::critical(this, MENUTEXT(ui.actionDownloadFile->text()),
tr("Failed to download file %1").arg(filename));
}
}
}
#define SETTINGS_GENERAL_LAST_DIR "general/last-dir"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment