android improvements

This commit is contained in:
Zira project 2020-11-25 16:58:10 +05:00
parent e630541b23
commit ae939b97f4
4 changed files with 17 additions and 4 deletions

View File

@ -70,6 +70,7 @@ private slots:
void fileBrowserItemSelectionChanged();
void upActionTriggered(bool checked);
void homeActionTriggered(bool checked);
void triggerContextMenu();
signals:
void openFile(QString);
void fileCreated(QString);

View File

@ -33,6 +33,7 @@ private:
QAction * action;
QPropertyAnimation *animationIn;
bool animationInProgress;
int minWidth;
private slots:
void onItemClicked(QListWidgetItem * item);
void animationInFinished();

View File

@ -52,7 +52,7 @@ FileBrowser::FileBrowser(QTreeWidget * widget, QLineEdit * line):
mousePressTimer.setInterval(1000);
mousePressTimer.setSingleShot(true);
connect(&mousePressTimer, SIGNAL(timeout()), this, SLOT(contextMenu()));
connect(&mousePressTimer, SIGNAL(timeout()), this, SLOT(triggerContextMenu()));
treeWidget->setSelectionMode(QAbstractItemView::SingleSelection);
treeWidget->setMouseTracking(true);
@ -245,10 +245,11 @@ void FileBrowser::homeActionTriggered(bool)
}
}
void FileBrowser::fileBrowserContextMenuRequested(QPoint /*p*/)
void FileBrowser::fileBrowserContextMenuRequested(QPoint p)
{
//QTreeWidgetItem * item = treeWidget->itemAt(p);
QTreeWidgetItem * item = treeWidget->currentItem();
//QTreeWidgetItem * item = treeWidget->currentItem();
QTreeWidgetItem * item = treeWidget->itemAt(p);
if (item != nullptr && item != treeWidget->currentItem()) treeWidget->setCurrentItem(item);
fileBrowserContextMenuRequested(item);
}
@ -855,3 +856,10 @@ void FileBrowser::contextMenu()
QTreeWidgetItem * item = treeWidget->currentItem();
fileBrowserContextMenuRequested(item);
}
void FileBrowser::triggerContextMenu()
{
QPoint p = treeWidget->mapFromGlobal(QCursor::pos());
if (p.isNull()) return;
fileBrowserContextMenuRequested(p);
}

View File

@ -29,6 +29,7 @@ MenuDialog::MenuDialog(QMenuBar * menuBar, QWidget *parent) :
Scroller::enableGestures(ui->listWidget);
}
minWidth = 0;
action = nullptr;
animationInProgress = false;
QEasingCurve easingIn(QEasingCurve::OutCubic);
@ -260,6 +261,8 @@ void MenuDialog::updateGeometry()
width += ui->listWidget->frameWidth() * 2;
if (ui->listWidget->verticalScrollBar()->isVisible()) width += ui->listWidget->verticalScrollBar()->width();
width += MENU_WIDTH_EXTRA_SPACE;
if (width < minWidth) width = minWidth;
else minWidth = width;
QScreen * screen = QGuiApplication::primaryScreen();
if (width > screen->availableGeometry().width()) width = screen->availableGeometry().width();
int height = screen->availableGeometry().height();