comparison src/gui/pages/anime_list.cc @ 105:6d8da6e64d61

theme: add dark stylesheet, make it actually usable win32: make the titlebar black where available
author Paper <mrpapersonic@gmail.com>
date Sun, 05 Nov 2023 03:54:26 -0500
parents b315f3759c56
children c8c72278f6fd
comparison
equal deleted inserted replaced
104:27455104ea37 105:6d8da6e64d61
280 action->setCheckable(true); 280 action->setCheckable(true);
281 action->setChecked(!tree_view->isColumnHidden(i)); 281 action->setChecked(!tree_view->isColumnHidden(i));
282 } 282 }
283 283
284 menu->addSeparator(); 284 menu->addSeparator();
285 QAction* resetAction = menu->addAction(tr("Reset to defaults"), this, [this]() { 285 menu->addAction(tr("Reset to defaults"), this, [this]() {
286 for (int i = 0, count = tree_view->header()->count(); i < count; ++i) { 286 for (int i = 0, count = tree_view->header()->count(); i < count; ++i) {
287 SetColumnDefaults(); 287 SetColumnDefaults();
288 } 288 }
289 // SaveSettings(); 289 // SaveSettings();
290 }); 290 });
291 menu->popup(QCursor::pos()); 291 menu->popup(QCursor::pos());
292 (void)(resetAction);
293 } 292 }
294 293
295 void AnimeListPage::DisplayListMenu() { 294 void AnimeListPage::DisplayListMenu() {
296 QMenu* menu = new QMenu(this); 295 QMenu* menu = new QMenu(this);
297 menu->setAttribute(Qt::WA_DeleteOnClose); 296 menu->setAttribute(Qt::WA_DeleteOnClose);
310 Anime::Anime* anime = source_model->GetAnimeFromIndex(index); 309 Anime::Anime* anime = source_model->GetAnimeFromIndex(index);
311 if (anime) 310 if (anime)
312 animes.insert(anime); 311 animes.insert(anime);
313 } 312 }
314 313
315 QAction* action = menu->addAction(tr("Information"), [this, animes] { 314 menu->addAction(tr("Information"), [this, animes] {
316 for (auto& anime : animes) { 315 for (auto& anime : animes) {
317 InformationDialog* dialog = new InformationDialog( 316 InformationDialog* dialog = new InformationDialog(
318 *anime, [this, anime] { UpdateAnime(anime->GetId()); }, this); 317 *anime, [this, anime] { UpdateAnime(anime->GetId()); }, this);
319 318
320 dialog->show(); 319 dialog->show();
321 dialog->raise(); 320 dialog->raise();
322 dialog->activateWindow(); 321 dialog->activateWindow();
323 } 322 }
324 }); 323 });
325 menu->addSeparator(); 324 menu->addSeparator();
326 action = menu->addAction(tr("Delete from list..."), [this, animes] { 325 menu->addAction(tr("Delete from list..."), [this, animes] {
327 for (auto& anime : animes) { 326 for (auto& anime : animes) {
328 RemoveAnime(anime->GetId()); 327 RemoveAnime(anime->GetId());
329 } 328 }
330 }); 329 });
331 menu->popup(QCursor::pos()); 330 menu->popup(QCursor::pos());
385 if (!option) 384 if (!option)
386 return; 385 return;
387 386
388 InitBasicStyle(option); 387 InitBasicStyle(option);
389 388
390 // int exth = style()->pixelMetric(QStyle::PM_TabBarBaseHeight, nullptr, this);
391 QSize t(0, tree_view->frameWidth()); 389 QSize t(0, tree_view->frameWidth());
392 if (tab_bar->isVisibleTo(this)) { 390 if (tab_bar->isVisibleTo(this)) {
393 t = tab_bar->sizeHint(); 391 t = tab_bar->sizeHint();
394 t.setWidth(width()); 392 t.setWidth(width());
395 } 393 }
419 AnimeListPage::AnimeListPage(QWidget* parent) : QWidget(parent) { 417 AnimeListPage::AnimeListPage(QWidget* parent) : QWidget(parent) {
420 /* Tab bar */ 418 /* Tab bar */
421 tab_bar = new QTabBar(this); 419 tab_bar = new QTabBar(this);
422 tab_bar->setExpanding(false); 420 tab_bar->setExpanding(false);
423 tab_bar->setDrawBase(false); 421 tab_bar->setDrawBase(false);
424 tab_bar->setAutoFillBackground(true);
425
426 if (parent) {
427 QPalette pal(parent->palette());
428 setPalette(pal);
429 }
430 422
431 /* Tree view... */ 423 /* Tree view... */
432 QWidget* tree_widget = new QWidget(this); 424 QWidget* tree_widget = new QWidget(this);
433 tree_view = new QTreeView(tree_widget); 425 tree_view = new QTreeView(tree_widget);
434 tree_view->setItemDelegate(new AnimeListPageDelegate(tree_view)); 426 tree_view->setItemDelegate(new AnimeListPageDelegate(tree_view));