/* * Copyright (C) 2013 ~ 2015 National University of Defense Technology(NUDT) & Kylin Ltd. * * Authors: * Kobe Lee xiangli@ubuntukylin.com/kobe24_lixiang@126.com * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "cleanerdetailwidget.h" #include "../src/mainwindow.h" #include "../component/cleansubgroup.h" #include "../component/selectwidget.h" #include #include const int defaultColumn = 4;//5 items for one line CleanerDetailWidget::CleanerDetailWidget(QWidget *parent, MainWindow *window, Toolkits *kits, QString skin) : QWidget(parent), parentWindow(window), toolKits(kits),cur_skin(skin) { // this->setStyleSheet("QWidget{border: none}"); this->setFixedSize(900, 403); this->setObjectName("transparentWidget"); this->setWindowIcon(QIcon(":/res/kylin-assistant.png")); mainLayout = new QVBoxLayout(this); m_emptyLabel = new QLabel(this); m_emptyLabel->setText(tr("No garbage")); m_emptyLabel->setVisible(false); /*this->setAutoFillBackground(true); QPalette palette; palette.setBrush(QPalette::Window, QBrush(Qt::white)); this->setPalette(palette);*/ // this->setObjectName("transparentWidget"); // this->setAutoFillBackground(true); // QPalette palette; // palette.setBrush(QPalette::Window, QBrush(Qt::white)); // this->setPalette(palette); // this->number_per_row = -1; // this->itemwidth = 160; // this->itemheight = 110; // this->cardspace = 10; // subCount = 0; scanResult = false; m_row = 0; m_column = 0; m_scrollArea = new QScrollArea(this); m_scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); m_scrollArea->setWidgetResizable(true); m_scrollArea->setStyleSheet("QScrollArea{border: none;background-color: #ffffff;}"); areaWidget = new QWidget(/*this*/); areaWidget->setObjectName("transparentWidget"); m_scrollArea->setWidget(areaWidget); areaWidgetLayout = new QGridLayout(areaWidget); areaWidgetLayout->setAlignment(Qt::AlignTop); mainLayout->addWidget(m_emptyLabel);//QStackedLayout mainLayout->addWidget(m_scrollArea); /*ui->scrollAreaWidgetContents->setGeometry(0, 0, this->width(), this->height()); ui->scrollArea->setFixedSize(900, 403); ui->scrollArea->setAutoFillBackground(true); ui->scrollArea->setBackgroundRole(QPalette::Light); ui->label->hide();*/ // grid_layout = new QGridLayout(); // rowIndex = columnIndex = 0; // cache_apt_items = NULL; // cache_apt_btn = NULL; //// cache_software_items = NULL; // cache_software_btn = NULL; //// cache_thumbnails_items = NULL; // cache_thumbnails_btn = NULL; //// cache_firefox_items = NULL; // cache_firefox_btn = NULL; //// cache_chromium_items = NULL; // cache_chromium_btn = NULL; // package_unneed_items = NULL; // package_unneed_btn = NULL; // package_oldkernel_items = NULL; // package_oldkernel_btn = NULL; // package_configfile_items = NULL; // package_configfile_btn = NULL; // cookies_firefox_items = NULL; // cookies_firefox_btn = NULL; //// cookies_chromium_items = NULL; // cookies_chromium_btn = NULL; // trace_firefox_btn = NULL; // trace_chromium_btn = NULL; // trace_system_btn = NULL; // trace_bash_btn = NULL; // trace_x11_btn = NULL; // trace_x11_items = NULL; // ui->scrollAreaWidgetContents->setLayout(grid_layout); // this->number_per_row = (this->width() + this->cardspace - 60) / (this->itemwidth + this->cardspace); this->setLanguage(); /* //test for adding a title QLabel *titleLabel = new QLabel(tr("List")); areaWidgetLayout->addWidget(titleLabel, m_row, m_column, 1, 4); m_row ++; */ /* //test for another module append to this page m_column = 0; m_row ++; */ } CleanerDetailWidget::~CleanerDetailWidget() { this->CleanUIAndData(); // if(cache_apt_items != NULL) // { // delete cache_apt_items; // cache_apt_items = NULL; // } // if(cache_software_items != NULL) // { // delete cache_software_items; // cache_software_items = NULL; // } // if(cache_thumbnails_items != NULL) // { // delete cache_thumbnails_items; // cache_thumbnails_items = NULL; // } // if(cache_firefox_items != NULL) // { // delete cache_firefox_items; // cache_firefox_items = NULL; // } // if(cache_chromium_items != NULL) // { // delete cache_chromium_items; // cache_chromium_items = NULL; // } /*if(package_unneed_items != NULL) { delete package_unneed_items; package_unneed_items = NULL; } if(package_oldkernel_items != NULL) { delete package_oldkernel_items; package_oldkernel_items = NULL; } if(package_configfile_items != NULL) { delete package_configfile_items; package_configfile_items = NULL; }*/ // if(cookies_firefox_items != NULL) // { // delete cookies_firefox_items; // cookies_firefox_items = NULL; // } // if(cookies_chromium_items != NULL) // { // delete cookies_chromium_items; // cookies_chromium_items = NULL; // } // if(trace_x11_items != NULL) // { // delete trace_x11_items; // trace_x11_items = NULL; // } // if(grid_layout != NULL) // { // delete grid_layout; // grid_layout = NULL; // } // delete ui; } void CleanerDetailWidget::onRefreshSelectedItems(CleanerModuleID id, const QStringList &infos) { switch (id) { case CleanerModuleID::CacheApt: m_selectedAptList.clear(); m_selectedAptList = infos; break; case CleanerModuleID::CacheSoftware: m_selectedSoftwareList.clear(); m_selectedSoftwareList = infos; break; case CleanerModuleID::CacheThumbnail: m_selectedThumbnailsList.clear(); m_selectedThumbnailsList = infos; break; case CleanerModuleID::CacheFirefox: m_selectedFirefoxCacheList.clear(); m_selectedFirefoxCacheList = infos; break; case CleanerModuleID::CacheChromium: m_selectedChromiumCacheList.clear(); m_selectedChromiumCacheList = infos; break; case CleanerModuleID::CookieFirefox: m_selectedFirefoxCookieList.clear(); m_selectedFirefoxCookieList = infos; break; case CleanerModuleID::CookieChromium: m_selectedChromiumCookieList.clear(); m_selectedChromiumCookieList = infos; break; case CleanerModuleID::TraceX11: m_selectedTraceX11List.clear(); m_selectedTraceX11List = infos; break; default: break; } } void CleanerDetailWidget::CleanUIAndData() { this->m_emptyLabel->setVisible(false); // if(!ui->label->isHidden()) // ui->label->hide(); scanResult = false; // subCount = 0; // rowIndex = columnIndex = 0; cache_apt_list.clear(); cache_software_list.clear(); cache_thumbnails_list.clear(); cache_firefox_list.clear(); cache_chromium_list.clear(); /*package_unneed_list.clear(); package_oldkernel_list.clear(); package_configfile_list.clear();*/ cookies_firefox_list.clear(); cookies_chromium_list.clear(); trace_firefox_count.clear(); trace_chromium_count.clear(); trace_system_count.clear(); trace_bash_size.clear(); trace_bash_path.clear(); trace_x11_list.clear(); m_selectedAptList.clear(); m_selectedSoftwareList.clear(); m_selectedThumbnailsList.clear(); m_selectedFirefoxCacheList.clear(); m_selectedChromiumCacheList.clear(); m_selectedFirefoxCookieList.clear(); m_selectedChromiumCookieList.clear(); m_selectedTraceX11List.clear(); //clear ui // foreach (QObject *child, ui->scrollAreaWidgetContents->children()) { // QWidget *widget = static_cast(child); // widget->deleteLater(); // } /*for(int i=0; iclearItems(); // ui->scrollAreaWidgetContents->setGeometry(0, 0, this->width(), this->height()); // this->subCount = 0; // while(grid_layout != NULL && grid_layout->count() > 0) // { // QWidget* widget = grid_layout->itemAt(0)->widget(); // grid_layout->removeWidget(widget); // delete widget; // } } void CleanerDetailWidget::addItem(CleanSubGroup *item) { this->m_cardlist.append(item); areaWidgetLayout->addWidget(item, m_row, m_column, 1, 1); if(m_column == defaultColumn) { m_column = 0; m_row++; } else { m_column++; } } void CleanerDetailWidget::showReciveData(const QStringList &data) { //----------------------------------------------------------------Cache--------------------------- if(data.at(0) == "Belong:Cache.apt" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; cache_apt_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Cache.software-center" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; cache_software_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Cache.thumbnails" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; cache_thumbnails_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Cache.firefox" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; cache_firefox_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Cache.chromium" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; cache_chromium_list.append(data.at(1).split(":").at(1)); } } //----------------------------------------------------------------Package--------------------------- /*else if(data.at(0) == "Belong:Packages.unneed" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; package_unneed_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Packages.oldkernel" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; package_oldkernel_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Packages.configfile" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; package_configfile_list.append(data.at(1).split(":").at(1)); } }*/ //----------------------------------------------------------------Cookies--------------------------- else if(data.at(0) == "Belong:Cookies.firefox" && !data.at(1).isEmpty()) { if(data.at(1).contains(":") && !data.at(1).split(":").at(1).isEmpty()) { if (scanResult == false) scanResult = true; cookies_firefox_list.append(data.at(1).split(":").at(1)); } } else if(data.at(0) == "Belong:Cookies.chromium" && !data.at(1).isEmpty()) { if(data.at(1).contains(":") && !data.at(1).split(":").at(1).isEmpty()) { if (scanResult == false) scanResult = true; cookies_chromium_list.append(data.at(1).split(":").at(1)); } } //----------------------------------------------------------------History Trace--------------------------- else if(data.at(0) == "Belong:History.firefox" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if(data.at(1).split(":").at(1).toInt() != 0) { if (scanResult == false) scanResult = true; trace_firefox_count = data.at(1).split(":").at(1); } } } else if(data.at(0) == "Belong:History.chromium" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if(data.at(1).split(":").at(1).toInt() != 0) { if (scanResult == false) scanResult = true; trace_chromium_count = data.at(1).split(":").at(1); } } } else if(data.at(0) == "Belong:History.system" && !data.at(1).isEmpty()) { if(data.at(1).contains(":")) { if(data.at(1).split(":").at(1).toInt() != 0) { if (scanResult == false) scanResult = true; trace_system_count = data.at(1).split(":").at(1); } } } else if(data.at(0) == "Belong:History.bash" && !data.at(1).isEmpty() && !data.at(2).isEmpty()) { if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; trace_bash_size= data.at(1).split(":").at(1); trace_bash_path= data.at(2).split(":").at(1); } // qDebug() << "bash------------"; // qDebug() << data.at(1);//"Size:55.67 KB" // qDebug() << data.at(2);/"Path:/home/kobe/.bash_history" } else if(data.at(0) == "Belong:History.X11")// && !data.at(1).isEmpty() && !data.at(2).isEmpty() { // qDebug() << "x11------------"; // qDebug() << data.at(1);//Path:/home/kobe/.xsession-errors // qDebug() << data.at(2);//Type:file // qDebug() << data.at(3);//Size:0.98 KB if(data.at(1).contains(":")) { if (scanResult == false) scanResult = true; trace_x11_list.append(data.at(1).split(":").at(1)); } } } void CleanerDetailWidget::showReciveStatus(const QString &status) { if(status == "Complete:Cache") { if(cache_apt_list.length() > 0) { m_selectedAptList.clear(); m_selectedAptList = cache_apt_list; // cache_apt_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *cache_apt_btn = new CleanSubGroup(this, "://res/janitor/apt"); cache_apt_btn->setFocusPolicy(Qt::NoFocus); // cache_apt_btn->setFixedSize(160, 130); // cache_apt_btn->setFixedSize(160, 200); cache_apt_btn->setStatusTip("cache-apt"); cache_apt_btn->setLabelText(tr("Apt Cache count:"), cache_apt_list.length()); //点击自定义按钮后,显示自定义页面 connect(cache_apt_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cache_apt_btn); /*cache_apt_items = new CleanListWidget(cache_apt_list, this->cur_skin, tr("Apt Cache Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cache_apt_items, SIGNAL(notifyMainCheckBox(int)), cache_apt_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_apt_btn, SIGNAL(spreadStatus(int)), cache_apt_items, SLOT(resetSubCheckbox(int)));*/ // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cache_apt_btn, subCount/5, subCount%5); /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cache_apt_btn->move(x, y); cache_apt_btn->show();*/ // m_cardlist.append(cache_apt_btn); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cache_apt_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cache_apt_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(cache_software_list.length() > 0) { m_selectedSoftwareList.clear(); m_selectedSoftwareList = cache_software_list; // cache_software_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *cache_software_btn = new CleanSubGroup(this, "://res/janitor/software"); cache_software_btn->setFocusPolicy(Qt::NoFocus); // cache_software_btn->setFixedSize(160, 130); // cache_software_btn->setFixedSize(160, 200); cache_software_btn->setStatusTip("cache-software"); cache_software_btn->setLabelText(tr("Software Cache count:"), cache_software_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_software_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cache_software_btn); /*cache_software_items = new CleanListWidget(cache_software_list, this->cur_skin, tr("Software Cache Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cache_software_items, SIGNAL(notifyMainCheckBox(int)), cache_software_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_software_btn, SIGNAL(spreadStatus(int)), cache_software_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cache_software_btn->move(x, y); cache_software_btn->show();*/ // m_cardlist.append(cache_software_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cache_software_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cache_software_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cache_software_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if (cache_thumbnails_list.length() > 0) { m_selectedThumbnailsList.clear(); m_selectedThumbnailsList = cache_thumbnails_list; // cache_thumbnails_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *cache_thumbnails_btn = new CleanSubGroup(this, "://res/janitor/thumbnails"); cache_thumbnails_btn->setFocusPolicy(Qt::NoFocus); // cache_thumbnails_btn->setFixedSize(160, 130); // cache_thumbnails_btn->setFixedSize(160, 200); cache_thumbnails_btn->setStatusTip("cache-thumbnails"); cache_thumbnails_btn->setLabelText(tr("Thumbnails Cache Count:"), cache_thumbnails_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_thumbnails_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cache_thumbnails_btn); /*cache_thumbnails_items = new CleanListWidget(cache_thumbnails_list, this->cur_skin, tr("Thumbnails Cache Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cache_thumbnails_items, SIGNAL(notifyMainCheckBox(int)), cache_thumbnails_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_thumbnails_btn, SIGNAL(spreadStatus(int)), cache_thumbnails_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cache_thumbnails_btn->move(x, y); cache_thumbnails_btn->show();*/ // m_cardlist.append(cache_thumbnails_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cache_thumbnails_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cache_thumbnails_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cache_thumbnails_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(cache_firefox_list.length() > 0) { m_selectedFirefoxCacheList.clear(); m_selectedFirefoxCacheList = cache_firefox_list; // cache_firefox_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *cache_firefox_btn = new CleanSubGroup(this, "://res/janitor/firefox"); cache_firefox_btn->setFocusPolicy(Qt::NoFocus); // cache_firefox_btn->setFixedSize(160, 130); cache_firefox_btn->setStatusTip("cache-firefox"); cache_firefox_btn->setLabelText(tr("Firefox Cache Count:"), cache_firefox_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_firefox_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cache_firefox_btn); /*cache_firefox_items = new CleanListWidget(cache_firefox_list, this->cur_skin, tr("Firefox Cache Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cache_firefox_items, SIGNAL(notifyMainCheckBox(int)), cache_firefox_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_firefox_btn, SIGNAL(spreadStatus(int)), cache_firefox_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cache_firefox_btn->move(x, y); cache_firefox_btn->show();*/ // m_cardlist.append(cache_firefox_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cache_firefox_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cache_firefox_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cache_firefox_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(cache_chromium_list.length() > 0) { m_selectedChromiumCacheList.clear(); m_selectedChromiumCacheList = cache_chromium_list; // cache_chromium_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *cache_chromium_btn = new CleanSubGroup(this, "://res/janitor/chromium"); cache_chromium_btn->setFocusPolicy(Qt::NoFocus); // cache_chromium_btn->setFixedSize(160, 130); cache_chromium_btn->setStatusTip("cache-chromium"); cache_chromium_btn->setLabelText(tr("Chromium Cache Count:"), cache_chromium_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_chromium_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cache_chromium_btn); /*cache_chromium_items = new CleanListWidget(cache_chromium_list, this->cur_skin, tr("Thumbnails Cache Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cache_chromium_items, SIGNAL(notifyMainCheckBox(int)), cache_chromium_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cache_chromium_btn, SIGNAL(spreadStatus(int)), cache_chromium_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cache_chromium_btn->move(x, y); cache_chromium_btn->show();*/ // m_cardlist.append(cache_chromium_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cache_chromium_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cache_chromium_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cache_chromium_btn, rowIndex, columnIndex); // columnIndex += 1; // } } } else if(status == "Complete:Cookies") { // doing_label->setText(tr("Cookies Scan OK......")); if(cookies_firefox_list.length() > 0) { m_selectedFirefoxCookieList.clear(); m_selectedFirefoxCookieList = cookies_firefox_list; // cookies_firefox_btn = new CommonCheckBox(0, "://res/cookie"); CleanSubGroup *cookies_firefox_btn = new CleanSubGroup(this, "://res/janitor/firefox"); cookies_firefox_btn->setFocusPolicy(Qt::NoFocus); // cookies_firefox_btn->setFixedSize(160, 130); cookies_firefox_btn->setStatusTip("cookes-firefox"); cookies_firefox_btn->setLabelText(tr("Firefox Cookies Count:"), cookies_firefox_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cookies_firefox_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cookies_firefox_btn); /*cookies_firefox_items = new CleanListWidget(cookies_firefox_list, this->cur_skin, tr("Firefox Cookies Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cookies_firefox_items, SIGNAL(notifyMainCheckBox(int)), cookies_firefox_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cookies_firefox_btn, SIGNAL(spreadStatus(int)), cookies_firefox_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cookies_firefox_btn->move(x, y); cookies_firefox_btn->show();*/ // m_cardlist.append(cookies_firefox_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cookies_firefox_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cookies_firefox_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cookies_firefox_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(cookies_chromium_list.length() > 0) { m_selectedChromiumCookieList.clear(); m_selectedChromiumCookieList = cookies_chromium_list; // cookies_chromium_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *cookies_chromium_btn = new CleanSubGroup(this, "://res/janitor/chromium"); cookies_chromium_btn->setFocusPolicy(Qt::NoFocus); // cookies_chromium_btn->setFixedSize(160, 130); cookies_chromium_btn->setStatusTip("cookes-chromium"); cookies_chromium_btn->setLabelText(tr("Chromium Cookies Count:"), cookies_chromium_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cookies_chromium_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(cookies_chromium_btn); /*cookies_chromium_items = new CleanListWidget(cookies_chromium_list, this->cur_skin, tr("Chromium Cookies Clean Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(cookies_chromium_items, SIGNAL(notifyMainCheckBox(int)), cookies_chromium_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(cookies_chromium_btn, SIGNAL(spreadStatus(int)), cookies_chromium_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); cookies_chromium_btn->move(x, y); cookies_chromium_btn->show();*/ // m_cardlist.append(cookies_chromium_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(cookies_chromium_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(cookies_chromium_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(cookies_chromium_btn, rowIndex, columnIndex); // columnIndex += 1; // } } } else if(status == "Complete:History") { // doing_label->setText(tr("History Scan OK")); if(trace_firefox_count.length() > 0) { // trace_firefox_btn = new CommonCheckBox(0, "://res/cache"); CleanSubGroup *trace_firefox_btn = new CleanSubGroup(this, "://res/janitor/firefox"); trace_firefox_btn->setFocusPolicy(Qt::NoFocus); // trace_firefox_btn->setFixedSize(160, 130); trace_firefox_btn->hideCustomButton(); trace_firefox_btn->setStatusTip("history-firefox"); trace_firefox_btn->setLabelText(tr("Firefox History Count:"), trace_firefox_count.toInt()); this->addItem(trace_firefox_btn); /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); trace_firefox_btn->move(x, y); trace_firefox_btn->show();*/ // m_cardlist.append(trace_firefox_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(trace_firefox_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(trace_firefox_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(trace_firefox_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(trace_chromium_count.length() > 0) { CleanSubGroup *trace_chromium_btn = new CleanSubGroup(this, "://res/janitor/chromium"); trace_chromium_btn->setFocusPolicy(Qt::NoFocus); trace_chromium_btn->hideCustomButton(); trace_chromium_btn->setStatusTip("history-chromium"); trace_chromium_btn->setLabelText(tr("Chromium History Count:"), trace_chromium_count.toInt()); this->addItem(trace_chromium_btn); /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); trace_chromium_btn->move(x, y); trace_chromium_btn->show();*/ // m_cardlist.append(trace_chromium_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(trace_chromium_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(trace_chromium_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(trace_chromium_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(trace_system_count.length() > 0) { CleanSubGroup *trace_system_btn = new CleanSubGroup(this, "://res/janitor/trace"); trace_system_btn->setFocusPolicy(Qt::NoFocus); trace_system_btn->hideCustomButton(); trace_system_btn->setStatusTip("history-system"); trace_system_btn->setLabelText(tr("System History Count:"), trace_system_count.toInt()); this->addItem(trace_system_btn); /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); trace_system_btn->move(x, y); trace_system_btn->show();*/ // m_cardlist.append(trace_system_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(trace_system_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(trace_system_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(trace_system_btn, rowIndex, columnIndex); // columnIndex += 1; // } } //kobe if(!trace_bash_path.isEmpty()) { CleanSubGroup *trace_bash_btn = new CleanSubGroup(this, "://res/janitor/trace"); trace_bash_btn->setFocusPolicy(Qt::NoFocus); trace_bash_btn->hideCustomButton(); trace_bash_btn->setStatusTip("history-bash"); trace_bash_btn->setLabelStringText(tr("Command history size:"), trace_bash_size); this->addItem(trace_bash_btn); /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); trace_bash_btn->move(x, y); trace_bash_btn->show();*/ // m_cardlist.append(trace_bash_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(trace_bash_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(trace_bash_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(trace_bash_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(trace_x11_list.length() > 0) { m_selectedTraceX11List.clear(); m_selectedTraceX11List = trace_x11_list; CleanSubGroup *trace_x11_btn = new CleanSubGroup(this, "://res/janitor/debug"); trace_x11_btn->setFocusPolicy(Qt::NoFocus); trace_x11_btn->setStatusTip("x11-history"); trace_x11_btn->setLabelText(tr("Debug log:"), trace_x11_list.length()); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(trace_x11_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); this->addItem(trace_x11_btn); /*trace_x11_items = new CleanListWidget(trace_x11_list, this->cur_skin, tr("Debug log Items")); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(trace_x11_items, SIGNAL(notifyMainCheckBox(int)), trace_x11_btn, SLOT(resetMainStatus(int))); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(trace_x11_btn, SIGNAL(spreadStatus(int)), trace_x11_items, SLOT(resetSubCheckbox(int)));*/ /*int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); trace_x11_btn->move(x, y); trace_x11_btn->show();*/ // m_cardlist.append(trace_x11_btn); // subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(trace_x11_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(trace_x11_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(trace_x11_btn, rowIndex, columnIndex); // columnIndex += 1; // } } } /*else if(status == "Complete:Packages") { // doing_label->setText(tr("Packages Scan OK")); if(package_unneed_list.length() > 0) { package_unneed_items = new CleanListWidget(package_unneed_list, this->cur_skin, tr("Thumbnails Cache Clean Items")); // package_unneed_btn = new CommonCheckBox(0, "://res/cache"); package_unneed_btn = new CleanSubGroup(this, "://res/janitor/package"); package_unneed_btn->setFocusPolicy(Qt::NoFocus); // package_unneed_btn->setFixedSize(160, 130); package_unneed_btn->setStatusTip("package-unneed"); package_unneed_btn->setLabelText(tr("Package Unneed Count:"),package_unneed_list.length()); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(package_unneed_items, SIGNAL(notifyMainCheckBox(int)), package_unneed_btn, SLOT(resetMainStatus(int))); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(package_unneed_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(package_unneed_btn, SIGNAL(spreadStatus(int)), package_unneed_items, SLOT(resetSubCheckbox(int))); int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); package_unneed_btn->move(x, y); package_unneed_btn->show(); m_cardlist.append(package_unneed_btn); subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(package_unneed_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(package_unneed_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(package_unneed_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(package_oldkernel_list.length() > 0) { package_oldkernel_items = new CleanListWidget(package_oldkernel_list, this->cur_skin, tr("Thumbnails Cache Clean Items")); // package_oldkernel_btn = new CommonCheckBox(0, "://res/cache"); package_oldkernel_btn = new CleanSubGroup(this, "://res/janitor/package"); package_oldkernel_btn->setFocusPolicy(Qt::NoFocus); // package_oldkernel_btn->setFixedSize(160, 130); package_oldkernel_btn->setStatusTip("package-oldkernel"); package_oldkernel_btn->setLabelText(tr("Package oldkernel Count:"), package_oldkernel_list.length()); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(package_oldkernel_items, SIGNAL(notifyMainCheckBox(int)), package_oldkernel_btn, SLOT(resetMainStatus(int))); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(package_oldkernel_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(package_oldkernel_btn, SIGNAL(spreadStatus(int)), package_oldkernel_items, SLOT(resetSubCheckbox(int))); int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); package_oldkernel_btn->move(x, y); package_oldkernel_btn->show(); m_cardlist.append(package_oldkernel_btn); subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(package_oldkernel_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(package_oldkernel_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(package_oldkernel_btn, rowIndex, columnIndex); // columnIndex += 1; // } } if(package_configfile_list.length() > 0) { package_configfile_items = new CleanListWidget(package_configfile_list, this->cur_skin, tr("Thumbnails Cache Clean Items")); // package_configfile_btn = new CommonCheckBox(0, "://res/cache"); package_configfile_btn = new CleanSubGroup(this, "://res/janitor/package"); package_configfile_btn->setFocusPolicy(Qt::NoFocus); // package_configfile_btn->setFixedSize(160, 130); package_configfile_btn->setStatusTip("package-configfile"); package_configfile_btn->setLabelText(tr("Package configfile Count:"),package_configfile_list.length()); //子checkbox的状态被改变时,重新设置总按钮的状态 connect(package_configfile_items, SIGNAL(notifyMainCheckBox(int)), package_configfile_btn, SLOT(resetMainStatus(int))); //点击自定义按钮后,根据总按钮的状态去改变子checkbox的状态 connect(package_configfile_btn, SIGNAL(customButtonClicked()), this, SLOT(showCustomPage())); //点击总按钮后,根据总按钮的状态去改变子checkbox的状态 connect(package_configfile_btn, SIGNAL(spreadStatus(int)), package_configfile_items, SLOT(resetSubCheckbox(int))); int x = int(this->subCount % this->number_per_row) * (this->itemwidth + this->cardspace) + 30; int y = int(this->subCount / this->number_per_row) * (this->itemheight + this->cardspace) + 30; int nowHeight = y + this->itemheight; if(nowHeight >= ui->scrollAreaWidgetContents->height()) ui->scrollAreaWidgetContents->resize(ui->scrollAreaWidgetContents->width(), nowHeight); package_configfile_btn->move(x, y); package_configfile_btn->show(); m_cardlist.append(package_configfile_btn); subCount += 1; // if(grid_layout == NULL) // { // grid_layout = new QGridLayout(); // } // grid_layout->addWidget(package_configfile_btn, subCount/5, subCount%5); // subCount += 1; // if(columnIndex < 5) // { // grid_layout->addWidget(package_configfile_btn, rowIndex, columnIndex); // columnIndex += 1; // } // else { // rowIndex += 1; // columnIndex = 0; // grid_layout->addWidget(package_configfile_btn, rowIndex, columnIndex); // columnIndex += 1; // } } }*/ else if(status == "Complete:All") { if(!scanResult) { this->m_emptyLabel->setVisible(true); // ui->label->show(); } emit this->sendScanOverStatus(scanResult); } } void CleanerDetailWidget::showCustomPage() { QObject *object = QObject::sender(); // CommonCheckBox *checkbox = qobject_cast(object); CleanSubGroup *checkbox = qobject_cast(object); QString object_name = checkbox->statusTip(); if(object_name == "cache-apt") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cache_apt_items->move(w_x, w_y); cache_apt_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CacheApt, tr("Apt Cache Clean Items")); w->loadData(tr("Apt Cache Clean Items"), cache_apt_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cache_apt_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cache-apt") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } else if(object_name == "cache-software") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cache_software_items->move(w_x, w_y); cache_software_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CacheSoftware, tr("Software Cache Clean Items")); w->loadData(tr("Software Cache Clean Items"), cache_software_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cache_software_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cache-software") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } else if(object_name == "cache-thumbnails") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cache_thumbnails_items->move(w_x, w_y); cache_thumbnails_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CacheThumbnail, tr("Thumbnails Cache Clean Items")); w->loadData(tr("Thumbnails Cache Clean Items"), cache_thumbnails_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cache_thumbnails_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cache-thumbnails") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } else if(object_name == "cache-firefox") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cache_firefox_items->move(w_x, w_y); cache_firefox_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CacheFirefox, tr("Firefox Cache Clean Items")); w->loadData(tr("Firefox Cache Clean Items"), cache_firefox_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cache_firefox_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cache-firefox") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } else if(object_name == "cache-chromium") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cache_chromium_items->move(w_x, w_y); cache_chromium_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CacheChromium, tr("Chromium Cache Clean Items")); w->loadData(tr("Chromium Cache Clean Items"), cache_chromium_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cache_chromium_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cache-chromium") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } else if(object_name == "cookes-firefox") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cookies_firefox_items->move(w_x, w_y); cookies_firefox_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CookieFirefox, tr("Firefox Cookies Clean Items")); w->loadData(tr("Firefox Cookies Clean Items"), cookies_firefox_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cookies_firefox_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cookes-firefox") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } else if(object_name == "cookes-chromium") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); cookies_chromium_items->move(w_x, w_y); cookies_chromium_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::CookieChromium, tr("Chromium Cookies Clean Items")); w->loadData(tr("Chromium Cookies Clean Items"), cookies_chromium_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), cookies_chromium_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "cookes-chromium") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } /*else if(object_name == "package-unneed") { int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); package_unneed_items->move(w_x, w_y); package_unneed_items->exec(); } else if(object_name == "package-oldkernel") { int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); package_oldkernel_items->move(w_x, w_y); package_oldkernel_items->exec(); } else if(object_name == "package-configfile") { int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); package_configfile_items->move(w_x, w_y); package_configfile_items->exec(); }*/ else if(object_name == "x11-history") { /*int w_x = parentWindow->frameGeometry().topLeft().x() + (900 / 2) - (410 / 2); int w_y = parentWindow->frameGeometry().topLeft().y() + (600 /2) - (280 / 2); trace_x11_items->move(w_x, w_y); trace_x11_items->exec();*/ SelectWidget *w = new SelectWidget(CleanerModuleID::TraceX11, tr("Debug log Items")); w->loadData(tr("Debug log Items"), trace_x11_list); //子checkbox的状态被改变时,重新设置总按钮的状态 // connect(w, SIGNAL(notifyMainCheckBox(int)), trace_x11_btn, SLOT(resetMainStatus(int))); connect(w, &SelectWidget::notifyMainCheckBox, [=] (int status) { foreach (CleanSubGroup *item, m_cardlist) { if (item->statusTip() == "x11-history") { item->resetMainStatus(status); break; } } }); connect(w, SIGNAL(refreshSelectedItems(CleanerModuleID,QStringList)), this, SLOT(onRefreshSelectedItems(CleanerModuleID,QStringList))); w->exec(); delete w; } // else if(object_name == "history-firefox" || object_name == "history-chromium" || object_name == "history-system"|| object_name == "history-bash" ) { // } } void CleanerDetailWidget::setLanguage() { // ui->label->setText(tr("No garbage ")); // title_label->setText(tr("Cleaning up the system cache")); // description_label->setText(tr("Deep cleaning up the system cache, to save disk space")); } void CleanerDetailWidget::resetCurrentSkin(QString skin) { this->cur_skin = skin; //can remove this code // if(cache_apt_items != NULL) // cache_apt_items->resetTitleSkin(skin); // if(cache_software_items != NULL) // cache_software_items->resetTitleSkin(skin); // if(cache_thumbnails_items != NULL) // cache_thumbnails_items->resetTitleSkin(skin); // if(cache_firefox_items != NULL) // cache_firefox_items->resetTitleSkin(skin); // if(cache_chromium_items != NULL) // cache_chromium_items->resetTitleSkin(skin); // if(cookies_firefox_items != NULL) // cookies_firefox_items->resetTitleSkin(skin); // if(cookies_chromium_items != NULL) // cookies_chromium_items->resetTitleSkin(skin); /*if(package_unneed_items != NULL) package_unneed_items->resetTitleSkin(skin); if(package_oldkernel_items != NULL) package_oldkernel_items->resetTitleSkin(skin); if(package_configfile_items != NULL) package_configfile_items->resetTitleSkin(skin);*/ // if(trace_x11_items != NULL) // trace_x11_items->resetTitleSkin(skin); } void CleanerDetailWidget::receiveCleanSignal() { this->getAllSelectedItems(); if(argsData.empty()) { toolKits->alertMSG(parentWindow->geometry().topLeft().x(), parentWindow->geometry().topLeft().y(), tr("Clean args is empty!")); } else { emit this->startCleanSystem(argsData); } } void CleanerDetailWidget::clearItems() { while(areaWidgetLayout->count() > 0) { QWidget* widget = areaWidgetLayout->itemAt(0)->widget(); areaWidgetLayout->removeWidget(widget); delete widget; } this->m_cardlist.clear(); m_row = 0; m_column = 0; } //void CleanerDetailWidget::receivePolicyKitSignal(bool status) //{ // //status = true:ok // //status = false:cacel // if(status)//ok // { // emit this->showActionAnimaiton(); // } //} void CleanerDetailWidget::getAllSelectedItems() { argsData.clear(); QStringList fileTmp; // QStringList packageTmp; // QStringList firefoxcookieTmp; // QStringList chromiumcookieTmp; // QStringList traceTmp; foreach (QString info, m_selectedAptList) { fileTmp.append(info); } foreach (QString info, m_selectedSoftwareList) { fileTmp.append(info); } foreach (QString info, m_selectedThumbnailsList) { fileTmp.append(info); } foreach (QString info, m_selectedFirefoxCacheList) { fileTmp.append(info); } foreach (QString info, m_selectedChromiumCacheList) { fileTmp.append(info); } foreach (CleanSubGroup *item, m_cardlist) { if (item->getCheckBoxStatus() != 0) { if (item->statusTip() == "history-firefox") { argsData.insert("firefox-history", QStringList() << trace_firefox_count); } else if (item->statusTip() == "history-chromium") { argsData.insert("chromium-history", QStringList() << trace_chromium_count); } else if (item->statusTip() == "history-system") { argsData.insert("system-history", QStringList() << trace_system_count); } else if (item->statusTip() == "history-bash") { argsData.insert("bash-history", QStringList() << trace_bash_path); } } } if(fileTmp.length() > 0) argsData.insert("file", fileTmp); if(m_selectedFirefoxCookieList.length() > 0) argsData.insert("firefox-cookie", m_selectedFirefoxCookieList); if(m_selectedChromiumCookieList.length() > 0) argsData.insert("chromium-cookie", m_selectedChromiumCookieList); if(m_selectedTraceX11List.length() > 0) argsData.insert("x11-history", m_selectedTraceX11List); // if(cache_apt_btn != NULL && cache_apt_btn->getCheckBoxStatus() != 0) // { // QStringList tmp = cache_apt_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) // { // QStringList tmp = cache_software_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) // { // QStringList tmp = cache_thumbnails_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) // { // QStringList tmp = cache_firefox_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) // { // QStringList tmp = cache_chromium_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) { QStringList tmp = package_unneed_items->getSelectedItems(); for(int i = 0; igetCheckBoxStatus() != 0) { QStringList tmp = package_oldkernel_items->getSelectedItems(); for(int i = 0; igetCheckBoxStatus() != 0) { QStringList tmp = package_configfile_items->getSelectedItems(); for(int i = 0; igetCheckBoxStatus() != 0) // { // QStringList tmp = cookies_firefox_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) // { // QStringList tmp = cookies_chromium_items->getSelectedItems(); // for(int i = 0; igetCheckBoxStatus() != 0) // { // argsData.insert("firefox-history", QStringList() << trace_firefox_count); // } // if(trace_chromium_btn != NULL && trace_chromium_btn->getCheckBoxStatus() != 0) // { // argsData.insert("chromium-history", QStringList() << trace_chromium_count); // } // if(trace_system_btn != NULL && trace_system_btn->getCheckBoxStatus() != 0) // { // argsData.insert("system-history", QStringList() << trace_system_count); // } // //kobe // if(trace_bash_btn != NULL && trace_bash_btn->getCheckBoxStatus() != 0) // { // argsData.insert("bash-history", QStringList() << trace_bash_path); // } //// if(trace_x11_btn != NULL && trace_x11_btn->getCheckBoxStatus() != 0) //// { //// QStringList tmp = trace_x11_items->getSelectedItems(); //// for(int i = 0; i 0) // argsData.insert("file", fileTmp); //// if(packageTmp.length() > 0) //// argsData.insert("package", packageTmp); // if(firefoxcookieTmp.length() > 0) // argsData.insert("firefox-cookie", firefoxcookieTmp); // if(chromiumcookieTmp.length() > 0) // argsData.insert("chromium-cookie", chromiumcookieTmp); // if(traceTmp.length() > 0) // argsData.insert("x11-history", traceTmp); }