Exemplo n.º 1
0
void tableTemplateWidget::makeCrossword(void)
{
  if (templateId == 0)
    {
      qDebug() << tr("makeCrossword: Template dosen't choiced!");
      emit maked();

      return;
    }

  if (isDirty)
    {
      QMessageBox save(QMessageBox::Question,
                       tr("Template is changed!"),
                       tr("Template is changed, do you want save changes?"),
                       QMessageBox::Save | QMessageBox::Discard);

      int code = save.exec();

      if (code == QMessageBox::Save)
        saveToDB();
      else
        return;
    }

  if (mct)
    {
      mct->setData(wi);
      mct->startScanning();
      mct->start(QThread::LowestPriority);
      connect(mct, SIGNAL(finished()), this, SLOT(makeFinished()));
    }
}
Exemplo n.º 2
0
void tableTemplateWidget::makeFinished(void)
{
  displayCrossword();
  isMaked = true;

  prepareQuestions();

  emit maked();
}
Exemplo n.º 3
0
int do_mkd(u8 * dir){
	s8 ret;
	u32 retlba;
	if (!check_for_args(MKD,1)) return 1;
	vd_puts(dir);
	vd_puts("\n");
	retlba  = maked(dir);
	if(retlba == NO_LBA){
		vd_puts( "CANNOT MAKE DIRECTORY\n"  );
				errormessage(geterror());
		}
		 fl_clean();
	return 0;
}
Exemplo n.º 4
0
static void test_pictures(skiatest::Reporter* reporter, sk_sp<SkPicture> p0, int count,
                          bool skipRoot) {
    Context ctx;
    if (skipRoot) {
        ctx.fSkipMe = p0.get();
    }

    SkSerialProcs sprocs = makes(array_serial_proc, &ctx);
    auto d0 = p0->serialize(&sprocs);
    REPORTER_ASSERT(reporter, ctx.fArray.count() == count);
    SkDeserialProcs dprocs = maked(array_deserial_proc, &ctx);
    p0 = SkPicture::MakeFromData(d0.get(), &dprocs);
    REPORTER_ASSERT(reporter, ctx.fArray.count() == 0);
}
Exemplo n.º 5
0
Arquivo: chk.c Projeto: 99years/plan9
static
int
checkdir(long a, long qpath)
{
	Dentry *nd;
	int i, ns, dmod;

	ns = strlen(name);
	dmod = touch(a);
	for(i=0; i<DIRPERBUF; i++) {
		nd = maked(a, i, qpath);
		if(!nd)
			break;
		if(fsck(nd)) {
			modd(a, i, nd);
			dmod++;
		}
		depth--;
		fence -= sizeof(Dentry);
		name[ns] = 0;
	}
	name[ns] = 0;
	return dmod;
}
Exemplo n.º 6
0
Arquivo: chk.c Projeto: 99years/plan9
void
check(Filsys *fs, long flag)
{
	Iobuf *p;
	Superb *sb;
	Dentry *d;
	long raddr;
	long nqid;

	wlock(&mainlock);
	dev = fs->dev;
	flags = flag;
	fence = fencebase;

	sizname = 4000;
	name = zalloc(sizname);
	sizname -= NAMELEN+10;	/* for safety */

	sbaddr = superaddr(dev);
	raddr = getraddr(dev);
	p = xtag(sbaddr, Tsuper, QPSUPER);
	if(!p){
		cprint("bad superblock\n");
		goto out;
	}
	sb = (Superb*)p->iobuf;
	fstart = 1;

	fsize = sb->fsize;
	sizabits = (fsize-fstart + 7)/8;
	abits = zalloc(sizabits);

	nqid = sb->qidgen+100;		/* not as much of a botch */
	if(nqid > 1024*1024*8)
		nqid = 1024*1024*8;
	if(nqid < 64*1024)
		nqid = 64*1024;

	sizqbits = (nqid+7)/8;
	qbits = zalloc(sizqbits);

	mod = 0;
	nfree = 0;
	nfdup = 0;
	nused = 0;
	nbad = 0;
	ndup = 0;
	nqbad = 0;
	depth = 0;
	maxdepth = 0;

	if(flags & Ctouch) {
		oldblock = fsize/DSIZE;
		oldblock *= DSIZE;
		if(oldblock < 0)
			oldblock = 0;
		cprint("oldblock = %ld\n", oldblock);
	}
	if(amark(sbaddr))
		{}
	if(cwflag) {
		if(amark(sb->roraddr))
			{}
		if(amark(sb->next))
			{}
	}

	if(!(flags & Cquiet))
		cprint("checking file system: %s\n", fs->name);
	nfiles = 0;
	maxq = 0;

	d = maked(raddr, 0, QPROOT);
	if(d) {
		if(amark(raddr))
			{}
		if(fsck(d))
			modd(raddr, 0, d);
		depth--;
		fence -= sizeof(Dentry);
		if(depth)
			cprint("depth not zero on return\n");
	}

	if(flags & Cfree) {
		mkfreelist(sb);
		sb->qidgen = maxq;
		settag(p, Tsuper, QPNONE);
	}

	if(sb->qidgen < maxq)
		cprint("qid generator low path=%ld maxq=%ld\n",
			sb->qidgen, maxq);
	if(!(flags & Cfree))
		ckfreelist(sb);
	if(mod) {
		cprint("file system was modified\n");
		settag(p, Tsuper, QPNONE);
	}

	if(!(flags & Cquiet)){
		cprint("%8ld files\n", nfiles);
		cprint("%8ld blocks in the file system\n", fsize-fstart);
		cprint("%8ld used blocks\n", nused);
		cprint("%8ld free blocks\n", sb->tfree);
	}
	if(!(flags & Cfree)){
		if(nfree != sb->tfree)
			cprint("%8ld free blocks found\n", nfree);
		if(nfdup)
			cprint("%8ld blocks duplicated in the free list\n", nfdup);
		if(fsize-fstart-nused-nfree)
			cprint("%8ld missing blocks\n", fsize-fstart-nused-nfree);
	}
	if(ndup)
		cprint("%8ld address duplications\n", ndup);
	if(nbad)
		cprint("%8ld bad block addresses\n", nbad);
	if(nqbad)
		cprint("%8ld bad qids\n", nqbad);
	if(!(flags & Cquiet))
		cprint("%8ld maximum qid path\n", maxq);
	missing();

out:
	if(p)
		putbuf(p);
	free(abits);
	free(name);
	free(qbits);
	wunlock(&mainlock);
}
Exemplo n.º 7
0
MainWindow::MainWindow(QWidget *parent) :
  QMainWindow(parent),
  ui(new Ui::MainWindow)
{
  ui->setupUi(this);

  actionNew = actionSave = actionDelete = actionExit = NULL;
  actionScan = actionMirror = actionMake = NULL;
  actionPrint = NULL;
  vcb = NULL;
  grid = NULL;
  printpreview = NULL;
  previewTemplate = NULL;
  previewCell = NULL;

  //qDebug() << db.drivers();
  db = QSqlDatabase::addDatabase("QMYSQL");

  db.setHostName("localhost");
  db.setDatabaseName("crossword");
  db.setUserName("taras");
  db.setPassword("su112per");
  bool ok = db.open();

  if (!ok)
    {
      qDebug() << db.lastError().text();

      QMessageBox msgBox;
      msgBox.setText(tr("Database open error!"));
      msgBox.exec();
    }

  grid = new tableTemplateWidget();

  if (grid)
    {
      // File menu
      actionNew = new QAction(QIcon(":/icons/new16.png"), QString(tr("New")), this);
      connect(actionNew, SIGNAL(triggered()), grid, SLOT(createNew()));

      actionSave = new QAction(QIcon(":/icons/save16.png"), QString(tr("Save")), this);
      connect(actionSave, SIGNAL(triggered()), grid, SLOT(saveToDB()));

      actionDelete = new QAction(QIcon(":/icons/delete16.png"), QString(tr("Delete")), this);
      connect(actionDelete, SIGNAL(triggered()), grid, SLOT(deleteTemplate()));

      actionPrint = new QAction(QIcon(":/icons/preview16.png"), QString(tr("Print")), this);
      connect(actionPrint, SIGNAL(triggered(bool)), this, SLOT(printCrossword()));

      actionExit = new QAction(QIcon(":/icons/x16.png"), QString(tr("Exit")), this);
      connect(actionExit, SIGNAL(triggered()), this, SLOT(exit()));


      QMenu *menuFile = new QMenu(tr("File"), this);
      ui->menuBar->addMenu(menuFile);
      menuFile->addAction(actionNew);
      menuFile->addAction(actionSave);
      menuFile->addAction(actionDelete);
      menuFile->addAction(actionPrint);
      menuFile->addSeparator();
      menuFile->addAction(actionExit);

      ui->mainToolBar->addAction(actionNew);
      ui->mainToolBar->addAction(actionSave);
      ui->mainToolBar->addAction(actionDelete);
      ui->mainToolBar->addAction(actionPrint);

      // Edit menu
      ui->mainToolBar->addSeparator();

      QMenu *menuEdit = new QMenu(tr("Edit"), this);
      ui->menuBar->addMenu(menuEdit);
      //  actionScan = new QAction(QIcon(":/icons/search16.png"), QString(tr("Scan")), this);
      //  connect(actionScan, SIGNAL(triggered()), grid, SLOT(scanTemplate()));
      //  ui->mainToolBar->addAction(actionScan);
      //  menuEdit->addAction(actionScan);

      actionMirror = new QAction(QIcon(":/icons/favorites16.png"), QString(tr("Mirror")), this);
      actionMirror->setCheckable(true);
      actionMirror->setChecked(true);
      connect(actionMirror, SIGNAL(toggled(bool)), grid, SLOT(setSymetricalMode(bool)));
      ui->mainToolBar->addAction(actionMirror);
      menuEdit->addAction(actionMirror);

      actionMake = new QAction(QIcon(":/icons/make.png"), QString(tr("Build crossword")), this);
      actionMake->setCheckable(true);
      connect(actionMake, SIGNAL(toggled(bool)), grid, SLOT(makeCrossword()));
      ui->mainToolBar->addAction(actionMake);
      menuEdit->addAction(actionMake);

      vcb = new QComboBox(this);
      if (vcb)
      {
          QFont font;
          font.setPointSize(10);
          //font.setBold(true);

	  vcb->setFixedSize(350, 32);
	  vcb->setMaxVisibleItems(20);
	  vcb->setFont(font);

	  vcb->addItem("УСЕ (Універсальний словник-енциклопедія)", QVariant(29));
	  vcb->addItem("Орфографічний словник української мови", QVariant(35));
	  vcb->addItem("Фразеологічний словник української мови", QVariant(49));
	  vcb->addItem("Словник синонімів Полюги", QVariant(31));
	  vcb->addItem("Словник синонімів Караванського", QVariant(41));
	  vcb->addItem("Словник іншомовних слів", QVariant(36));
	  vcb->addItem("Словник іншомовних слів Мельничука", QVariant(42));
	  vcb->addItem("Словник англіцизмів", QVariant(46));
	  vcb->addItem("Eкономічна енциклопедія", QVariant(38));
	  vcb->addItem("Словник мови Стуса", QVariant(27));
	  vcb->addItem("Словник іншомовних соціокультурних термінів", QVariant(39));
	  vcb->addItem("Енциклопедія політичної думки", QVariant(40));
	  vcb->addItem("Словник церковно-обрядової термінології", QVariant(43));
	  vcb->addItem("Архітектура і монументальне мистецтво", QVariant(44));
	  vcb->addItem("Словник-антисуржик", QVariant(45));
	  vcb->addItem("Словник термінів, уживаних у чинному Законодавстві України", QVariant(48));
	  vcb->addItem("Словник бюджетної термінології", QVariant(50));
	  vcb->addItem("Термінологічний словник з економіки праці", QVariant(51));
	  vcb->addItem("Глосарій термінів Фондового ринку", QVariant(52));
	  vcb->addItem("Моделювання економіки", QVariant(53));
	  vcb->addItem("Власні імена людей", QVariant(54));
	  vcb->addItem("Словар українського сленгу", QVariant(57));
	  vcb->addItem("Музичні терміни", QVariant(58));
	  vcb->addItem("Тлумачний словник з інформатики та інформаційних систем для економістів", QVariant(59));
	  vcb->addItem("Управління якістю", QVariant(61));

	  ui->mainToolBar->insertWidget(actionMake, vcb);
	  connect(vcb, SIGNAL(currentIndexChanged(int)), this, SLOT(setVocabulary(int)));
	  setVocabulary(vcb->currentIndex());
      }

      //grid->setStyleSheet(readStyleSheet("/home/taras/Projects/qtCrossword/qribbon.qss"));
      grid->setSymetricalMode(true);
      ui->horizontalLayout->addWidget(grid);
      ui->listWidget->setTemplateGrid(grid);

      grid->setStatusBar(ui->statusBar);
      grid->setDB(&db);

      connect(grid, SIGNAL(maked()), this, SLOT(makedCrossword()));
    }

  previewTemplate = new PreviewTemplateDelegate();

  if (previewTemplate)
    ui->listWidget->setItemDelegate(previewTemplate);

  loadListPreview();

  previewCell = new PreviewCellDelegate();
  ui->tableView->setItemDelegate(previewCell);
  ui->tableView->setModel( grid->model() );
  ui->tableView->horizontalHeader()->setDefaultSectionSize(40);
  ui->tableView->verticalHeader()->setDefaultSectionSize(40);
  ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);

  printer = new QPrinter();

  if (printer)
    {
      printer->setPaperSize(QPrinter::A4);
      printer->setOrientation(QPrinter::Portrait);
      printer->setFullPage(true);
      printer->setPageMargins(20.0, 15.0, 15.0, 15.0, QPrinter::Millimeter);
      printer->newPage();

      prnPreview = new QPrintPreviewDialog(printer, this);
      connect(prnPreview, SIGNAL(paintRequested(QPrinter*)), grid, SLOT(printPreview(QPrinter*)));
      ui->horizontalLayout_8->addWidget(prnPreview);

      printpreview = new QPrintPreviewWidget(printer, this);

      if (printpreview)
        {
          printpreview->fitInView();
          printpreview->show();

          ui->horizontalLayout_8->addWidget(printpreview);
          connect(printpreview, SIGNAL(paintRequested(QPrinter*)), grid, SLOT(printPreview(QPrinter*)));
        }
    }
}