Example #1
0
QtWebKitPage::QtWebKitPage(QtWebKitNetworkManager *networkManager, QtWebKitWebWidget *parent) : QWebPage(parent),
	m_widget(parent),
	m_networkManager(networkManager),
	m_ignoreJavaScriptPopups(false)
{
	setNetworkAccessManager(m_networkManager);
	setForwardUnsupportedContent(true);
	updateStyleSheets();
	optionChanged(QLatin1String("Interface/ShowScrollBars"), SettingsManager::getValue(QLatin1String("Interface/ShowScrollBars")));

	connect(this, SIGNAL(loadFinished(bool)), this, SLOT(pageLoadFinished()));
	connect(SettingsManager::getInstance(), SIGNAL(valueChanged(QString,QVariant)), this, SLOT(optionChanged(QString,QVariant)));
}
RuleWidget::RuleWidget(QString fileName)
	: QWidget()
{
	ui.setupUi(this);
	ui.rulesTabs->setCurrentIndex(0);

    filePath=fileName;

    setProperty("FileName",filePath);
    setProperty("GroupType","Rule");

    QSettings loadRule(fileName,QSettings::IniFormat);
    loadRule.beginGroup("JLRuleGroup");
	groupName=loadRule.value("Name","Unknown").toString();
    ui.limitRowsValue->setValue(loadRule.value("LogRowsCount",20).toInt());
	ui.ruleBeep->setChecked(loadRule.value("BeepOnDone",false).toBool());
	ui.notes->setPlainText(loadRule.value("Notes","").toString());
    loadRule.endGroup();

    ordersCancelTime=QTime(1,0,0,0);
    setAttribute(Qt::WA_DeleteOnClose,true);

	updateStyleSheets();

	ui.rulesNoMessage->setVisible(true);
	ui.rulesTabs->setVisible(false);

    rulesModel=new RulesModel(groupName);
	connect(rulesModel,SIGNAL(writeLog(QString)),this,SLOT(writeLog(QString)));
	rulesModel->setParent(this);
	ui.rulesTable->setModel(rulesModel);
    mainWindow.setColumnResizeMode(ui.rulesTable,0,QHeaderView::ResizeToContents);
    mainWindow.setColumnResizeMode(ui.rulesTable,1,QHeaderView::Stretch);

    connect(rulesModel,SIGNAL(ruleDone()),this,SLOT(ruleDone()));

	connect(ui.rulesTable->selectionModel(),SIGNAL(selectionChanged(const QItemSelection&, const QItemSelection&)),this,SLOT(checkValidRulesButtons()));
	ui.rulesTable->setContextMenuPolicy(Qt::CustomContextMenu);
    connect(ui.rulesTable, SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(rulesMenuRequested(const QPoint&)));

	rulesEnableDisableMenu=new QMenu;
	rulesEnableDisableMenu->addAction("Enable Selected");
	connect(rulesEnableDisableMenu->actions().last(),SIGNAL(triggered(bool)),this,SLOT(ruleEnableSelected()));
	rulesEnableDisableMenu->addAction("Disable Selected");
	connect(rulesEnableDisableMenu->actions().last(),SIGNAL(triggered(bool)),this,SLOT(ruleDisableSelected()));
	rulesEnableDisableMenu->addSeparator();
	rulesEnableDisableMenu->addAction("Enable All");
    connect(rulesEnableDisableMenu->actions().last(),SIGNAL(triggered(bool)),this,SLOT(ruleEnableAll()));
	rulesEnableDisableMenu->addAction("Disable All");
    connect(rulesEnableDisableMenu->actions().last(),SIGNAL(triggered(bool)),this,SLOT(ruleDisableAll()));
	ui.ruleEnableDisable->setMenu(rulesEnableDisableMenu);
	connect(rulesEnableDisableMenu,SIGNAL(aboutToShow()),this,SLOT(ruleDisableEnableMenuFix()));

	languageChanged();

    setWindowTitle(groupName);

    QStringList rulesList=loadRule.childGroups();
    Q_FOREACH(QString group, rulesList)
    {
        if(!group.startsWith("Rule_"))continue;
        RuleHolder holder=RuleScriptParser::readHolderFromSettings(loadRule,group);
        if(holder.isValid())rulesModel->addRule(holder);
    }

	saveRulesData();

	checkValidRulesButtons();

	mainWindow.fixTableViews(this);
}