diff --git a/Telegram/SourceFiles/config.h b/Telegram/SourceFiles/config.h index 2a49ed1a9e..4cd25c8801 100644 --- a/Telegram/SourceFiles/config.h +++ b/Telegram/SourceFiles/config.h @@ -20,8 +20,8 @@ Copyright (c) 2014-2015 John Preston, https://desktop.telegram.org */ #pragma once -static const int32 AppVersion = 9008; -static const wchar_t *AppVersionStr = L"0.9.8"; +static const int32 AppVersion = 9009; +static const wchar_t *AppVersionStr = L"0.9.9"; static const bool DevVersion = true; static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)"; diff --git a/Telegram/SourceFiles/gui/popupmenu.cpp b/Telegram/SourceFiles/gui/popupmenu.cpp index 251a547c3d..ea68cff3d0 100644 --- a/Telegram/SourceFiles/gui/popupmenu.cpp +++ b/Telegram/SourceFiles/gui/popupmenu.cpp @@ -50,6 +50,7 @@ PopupMenu::PopupMenu(QMenu *menu, const style::PopupMenu &st) : TWidget(0) , _mouseSelection(false) , _shadow(_st.shadow) , _selected(-1) +, _childMenuIndex(-1) , a_opacity(1) , _a_hide(animFunc(this, &PopupMenu::animStep_hide)) , _deleteOnHide(true) { @@ -301,11 +302,7 @@ void PopupMenu::keyPressEvent(QKeyEvent *e) { void PopupMenu::enterEvent(QEvent *e) { QPoint mouse = QCursor::pos(); - if (_inner.marginsRemoved(QMargins(0, _st.skip, 0, _st.skip)).contains(mapFromGlobal(mouse))) { - _mouseSelection = true; - _mouse = mouse; - updateSelected(); - } else { + if (!_inner.marginsRemoved(QMargins(0, _st.skip, 0, _st.skip)).contains(mapFromGlobal(mouse))) { if (_mouseSelection && _childMenuIndex < 0) { _mouseSelection = false; setSelected(-1); @@ -385,6 +382,12 @@ void PopupMenu::focusOutEvent(QFocusEvent *e) { hideMenu(); } +void PopupMenu::hideEvent(QHideEvent *e) { + if (_deleteOnHide) { + deleteLater(); + } +} + void PopupMenu::hideMenu(bool fast) { if (isHidden()) return; if (_parent && !_a_hide.animating()) { @@ -419,9 +422,6 @@ void PopupMenu::childHiding(PopupMenu *child) { void PopupMenu::hideFinish() { hide(); - if (_deleteOnHide) { - deleteLater(); - } } bool PopupMenu::animStep_hide(float64 ms) { @@ -482,6 +482,7 @@ void PopupMenu::showMenu(const QPoint &p, PopupMenu *parent, PressSource source) } move(w); + _mouseSelection = (source == PressSourceMouse); setSelected((source == PressSourceMouse || _actions.isEmpty()) ? -1 : 0); psUpdateOverlayed(this); show(); diff --git a/Telegram/SourceFiles/gui/popupmenu.h b/Telegram/SourceFiles/gui/popupmenu.h index 8aa2a80858..bccb3483c9 100644 --- a/Telegram/SourceFiles/gui/popupmenu.h +++ b/Telegram/SourceFiles/gui/popupmenu.h @@ -47,6 +47,7 @@ protected: void leaveEvent(QEvent *e); void enterEvent(QEvent *e); void focusOutEvent(QFocusEvent *e); + void hideEvent(QHideEvent *e); public slots: diff --git a/Telegram/SourceFiles/localimageloader.cpp b/Telegram/SourceFiles/localimageloader.cpp index 1b71de0de9..f82fdb396f 100644 --- a/Telegram/SourceFiles/localimageloader.cpp +++ b/Telegram/SourceFiles/localimageloader.cpp @@ -405,7 +405,7 @@ void FileLoadTask::finish() { } if (_result->filesize == -1) { // dir App::main()->onSendFileCancel(_result); - App::wnd()->replaceLayer(new InformBox(lng_send_folder(lt_name, QFileInfo(_filepath).fileName()))); + App::wnd()->replaceLayer(new InformBox(lng_send_folder(lt_name, QFileInfo(_filepath).dir().dirName()))); return; } if (_result->filesize > MaxUploadDocumentSize) {