2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-05 00:55:12 +00:00

multi select started in media overview

This commit is contained in:
John Preston
2014-08-20 09:32:50 +04:00
parent c6423c0b65
commit dfb4d01015
10 changed files with 1144 additions and 198 deletions

View File

@@ -294,7 +294,18 @@ MainWidget::MainWidget(Window *window) : QWidget(window), failedObjId(0), _dialo
}
mtpRequestId MainWidget::onForward(const PeerId &peer, bool forwardSelected) {
return history.onForward(peer, forwardSelected);
SelectedItemSet selected;
if (forwardSelected) {
if (overview) {
overview->fillSelectedItems(selected, false);
} else {
history.fillSelectedItems(selected, false);
}
if (selected.isEmpty()) {
return 0;
}
}
return history.onForward(peer, selected);
}
void MainWidget::onShareContact(const PeerId &peer, UserData *contact) {
@@ -322,9 +333,9 @@ void MainWidget::deleteLayer(int32 selectedCount) {
QString str(lang((selectedCount < -1) ? lng_selected_cancel_sure_this : (selectedCount < 0 ? lng_selected_delete_sure_this : (selectedCount > 1 ? lng_selected_delete_sure_5 : lng_selected_delete_sure_1))));
ConfirmBox *box = new ConfirmBox((selectedCount < 0) ? str : str.arg(selectedCount), lang(lng_selected_delete_confirm));
if (selectedCount < 0) {
connect(box, SIGNAL(confirmed()), &history, SLOT(onDeleteContextSure()));
connect(box, SIGNAL(confirmed()), overview ? overview : static_cast<QWidget*>(&history), SLOT(onDeleteContextSure()));
} else {
connect(box, SIGNAL(confirmed()), &history, SLOT(onDeleteSelectedSure()));
connect(box, SIGNAL(confirmed()), overview ? overview : static_cast<QWidget*>(&history), SLOT(onDeleteSelectedSure()));
}
App::wnd()->showLayer(box);
}
@@ -485,15 +496,27 @@ void MainWidget::checkedHistory(PeerData *peer, const MTPmessages_Messages &resu
}
void MainWidget::forwardSelectedItems() {
history.onForwardSelected();
if (overview) {
overview->onForwardSelected();
} else {
history.onForwardSelected();
}
}
void MainWidget::deleteSelectedItems() {
history.onDeleteSelected();
if (overview) {
overview->onDeleteSelected();
} else {
history.onDeleteSelected();
}
}
void MainWidget::clearSelectedItems() {
history.onClearSelected();
if (overview) {
overview->onClearSelected();
} else {
history.onClearSelected();
}
}
DialogsIndexed &MainWidget::contactsList() {
@@ -903,11 +926,13 @@ void MainWidget::showPeer(const PeerId &peerId, MsgId msgId, bool back, bool for
if (force || !selectingPeer()) {
if (profile || overview) {
if (profile) {
profile->hide();
profile->deleteLater();
profile->rpcInvalidate();
profile = 0;
}
if (overview) {
overview->hide();
overview->clear();
overview->deleteLater();
overview->rpcInvalidate();
@@ -977,11 +1002,13 @@ void MainWidget::showMediaOverview(const PeerData *peer, MediaOverviewType type,
}
}
if (overview) {
overview->hide();
overview->clear();
overview->deleteLater();
overview->rpcInvalidate();
}
if (profile) {
profile->hide();
profile->deleteLater();
profile->rpcInvalidate();
profile = 0;
@@ -1017,12 +1044,14 @@ void MainWidget::showPeerProfile(const PeerData *peer, bool back, int32 lastScro
}
}
if (overview) {
overview->hide();
overview->clear();
overview->deleteLater();
overview->rpcInvalidate();
overview = 0;
}
if (profile) {
profile->hide();
profile->deleteLater();
profile->rpcInvalidate();
}