void LogDetailWidget::onCustomMenuRequested(const QPoint &pos)
{
	QModelIndex index = ui.aaView->currentIndex();
	if(index.row() <0) return;

	QAbstractItemModel* model = ui.aaView->model();
	QMenu *menu=new QMenu(this);

	QString timestamp = model->data(model->index(index.row(), 0), Qt::DisplayRole).toString();
	QString compName = model->data(model->index(index.row(), 2), Qt::DisplayRole).toString();
	QString type = model->data(model->index(index.row(), 4), Qt::DisplayRole).toString();
	QString value = model->data(model->index(index.row(), 5), Qt::DisplayRole).toString();
	int i;
	if((i=compName.indexOf(".java"))>=0 && type == "edit" && value != "")
	{
		QAction *editHistory = new QAction("See Edit History", this);
		menu->addAction(editHistory);
		connect(editHistory, SIGNAL(triggered()), this, SLOT(showEditHistory()));
	}

	QAction *showact = new QAction("Show Screenshot", this);
	
	menu->addAction(showact);
    
    menu->popup(ui.aaView->viewport()->mapToGlobal(pos));

	connect(showact, SIGNAL(triggered()), this, SLOT(showScreenshot()));

}
Пример #2
0
void MainUI::on_tool_app_prevScreen_clicked(){
  //Read the current screenshot and go to the previous one
  int cur = ui->label_app_cScreen->text().section("/",0,0).simplified().toInt();
  showScreenshot(cur-2); //the viewable number is always 1 greater than the actual number	
}
Пример #3
0
void MainUI::slotGoToApp(QString appID, bool goback){
  qDebug() << "Show App:" << appID;
  //Get the general application info
  NGApp data = PBI->singleAppInfo(appID);
  if(data.origin.isEmpty()){
    qDebug() << "Invalid App:" << appID;
    return;
  }
  //Save this appID for going back later
  if(!goback){ //is not a return to an old page
    if(backApps.length() > 0){
      backApps.removeAll(appID);
      backApps.prepend(appID);
    }else{
      backApps.prepend(appID);
    }
    //Now rebuild the back menu
    backMenu->clear();
    for(int i=0; i<backApps.length() && i<10; i++){ //only show 10 items max
      backMenu->addAction(backApps[i]);
    }
  }
  ui->tool_br_back->setVisible( backApps.length() > 1 );
  cApp = appID; //save this for later
  //Start the search for similar apps
  PBI->searchSimilar = appID;
  ui->tabWidget_browse_info->setTabEnabled(3, false); //similar apps tab
  QTimer::singleShot(0,PBI,SLOT(startSimilarSearch()));
  //Now Check icon
  //qDebug() << "App Icon:" << data.origin << data.icon << data.type;
  data.icon = checkIcon(data.icon, data.type); //if(data.icon.isEmpty() || !QFile::exists(data.icon)){ data.icon = defaultIcon; }
  //qDebug() << " - fixed icon:" << data.icon;
  //Now fill the UI with the data
  ui->label_bapp_name->setText(data.name);
  ui->label_bapp_icon->setPixmap(QPixmap(data.icon).scaled(ui->label_bapp_icon->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation) );
  ui->label_bapp_authorweb->setText(data.author);
  ui->tool_app_openweb->setWhatsThis(data.website);
  ui->tool_app_openweb->setVisible( !data.website.isEmpty() && !(data.website.toLower()=="unknown") );
  ui->label_bapp_authorweb->setToolTip(data.website);
  ui->label_bapp_license->setText(data.license);
  ui->label_bapp_type->setText(data.type);
  ui->text_bapp_description->setText(data.description);
  ui->tool_app_rank->setIcon( QIcon( getRatingIcon(data.rating) ) );
  ui->tool_app_rank->setVisible( data.hasWiki );
  ui->tool_app_tips->setVisible( data.hasWiki );
  QString cVer = data.installedversion;
    ui->label_bapp_version->setText(data.version);
    ui->label_bapp_arch->setText(data.arch);
    if(data.size.isEmpty()){ ui->label_bapp_size->setText(tr("Unknown")); }
    else{ ui->label_bapp_size->setText( data.size ); }
  //Now update the download button appropriately
  slotUpdateAppDownloadButton();
  ui->group_app_installed->setVisible(data.isInstalled);
  if(data.isInstalled){
    //Now update the application buttons
    //Start Application binaries
	QStringList bins = PBI->appBinList(appID);
        appBinMenu->clear();
        for(int i=0; i<bins.length(); i++){
          QAction *act = new QAction(this);
	    act->setText(bins[i].section("::::",0,0)); //set name
	    act->setWhatsThis(bins[i].section("::::",1,10)); //set command string
          appBinMenu->addAction(act);
        }
	ui->tool_install_startApp->setVisible(!appBinMenu->isEmpty());
    //Maintainer button
      ui->tool_install_maintainer->setVisible( data.maintainer.contains("@") );
    //Shortcuts button
      ui->tool_install_shortcuts->setVisible(data.hasDE);
	
  }
  //Now enable/disable the shortcut buttons
  ui->tool_browse_app->setVisible(TRUE);
    ui->tool_browse_app->setText(data.name);
    ui->tool_browse_app->setIcon(QIcon(data.icon));
    bApp = appID; //button app ID
  NGCat catinfo;
  if(!data.category.isEmpty()){ catinfo = PBI->singleCatInfo(data.category); }
  else{ catinfo = PBI->singleCatInfo(data.portcat); }
    bCat = catinfo.portcat; //current button category ID
  //QStringList catinfo = PBI->CatInfo(Extras::nameToID(data[7]),QStringList() << "name" << "icon");
  //qDebug() << "Show App Category:" << bCat;
  if(!catinfo.name.isEmpty()){
    ui->tool_browse_gotocat->setVisible(false);
    ui->tool_browse_cat->setVisible(TRUE);
    ui->tool_browse_cat->setText(catinfo.name);
    if(catinfo.icon.isEmpty() || !QFile::exists(catinfo.icon) ){ catinfo.icon = defaultIcon; }
    ui->tool_browse_cat->setIcon(QIcon(catinfo.icon));
  }
  ui->tabWidget->setCurrentWidget(ui->tab_browse);
  ui->stacked_browser->setCurrentWidget(ui->page_app);
  ui->tabWidget_browse_info->setCurrentWidget(ui->tab_app_desc);
  //Screenshots tab
  if(data.screenshots.isEmpty()){
    ui->tabWidget_browse_info->setTabEnabled(1,false);
  }else{
    ui->tabWidget_browse_info->setTabEnabled(1,true);
    //still need to load the first screenshot
    showScreenshot(0);
  }
  //Plugins tab
  //qDebug() << "plugins:" << data.possiblePlugins;
  ui->tabWidget_browse_info->setTabEnabled(2, fillVerticalAppArea( ui->scroll_app_plugins, data.possiblePlugins, false));
  //Build Options tab
  //qDebug() << "Build Options:" << data.buildOptions;
  if(data.buildOptions.isEmpty()){
    ui->tabWidget_browse_info->setTabEnabled(4,false);
  }else{
    ui->tabWidget_browse_info->setTabEnabled(4,true);
    ui->list_app_buildopts->clear();
    ui->list_app_buildopts->addItems(data.buildOptions);
  }
	
}