예제 #1
0
파일: fileviewer.cpp 프로젝트: hxvu/xstatic
void fileviewer::Next_ButtonClick(bool checked)
{
    if (!checked)
    {
        if (m_iter != m_fileDataList.begin())
        {
            QVector<filedata>::iterator it = m_iter;
            m_iter--;
            m_file_idx--;
            if (m_iter->compareFilenameOnly(*it))
            {
                // Same file different line
                m_textEditSource->highlightLine(m_iter->linenum.toInt());
                updateFilePathLabel();
            }
            else
            {
                // Different File
                updateTextEdit();
            }
            m_comboBoxSearchPath->setCurrentIndex(m_file_idx);
        }
        checkFileStackButtons();
    }
}
예제 #2
0
void fileviewer::Next_ButtonClick(bool checked)
{
	if (m_fileDataList.isEmpty())
	{
		m_pushButtonPrev->setEnabled(false);
		m_pushButtonNext->setEnabled(false);
		return;
	}
	if((m_iter == m_fileDataList.end() - 1)||
		(m_iter == m_fileDataList.end()))
	{
		m_pushButtonNext->setEnabled(false);
		return;
	}
	if (!checked)
	{
		QVector<filedata>::iterator it = m_iter;
		m_iter++;
		if (m_iter->compareFilenameOnly(*it))
		{
			highlightLine(m_iter->linenum.toInt());
			updateFilePathLabel();			
		}
		else
		{
			updateTextEdit();
		}
		m_pushButtonPrev->setEnabled(m_iter != m_fileDataList.begin());
		m_pushButtonNext->setEnabled(m_iter != m_fileDataList.end() - 1);
	}
}
예제 #3
0
파일: fileviewer.cpp 프로젝트: hxvu/xstatic
void fileviewer::FilePath_indexChanged(const int& idx)
{
    m_iter = m_fileDataList.begin();
    for (int i=0; i < idx; i++)
        m_iter++;
    updateTextEdit();
    checkFileStackButtons();
}
예제 #4
0
void PreviewForm::setEncodedData(const QByteArray &data,
                                 const QString m_fileName,
                                 const int m_format)
{
    fileName = m_fileName;
    format = m_format;
    encodedData = data;
    updateTextEdit();
}
예제 #5
0
ShortcutButton::ShortcutButton(QString title, QString content):
m_title(title), m_content(content)
{
    Q_ASSERT(smp_layout);
    this->setText(title);
    smp_layout->addWidget(this);
    setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
    connect(this, SIGNAL(clicked()),
            this, SLOT(updateTextEdit()));
}
예제 #6
0
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QMainWindow::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: open(); break;
        case 1: openUrl(); break;
        case 2: save(); break;
        case 3: about(); break;
        case 4: updateTextEdit(); break;
        default: ;
        }
        _id -= 5;
    }
    return _id;
}
예제 #7
0
파일: fileviewer.cpp 프로젝트: hxvu/xstatic
void fileviewer::fileViewSettings_Triggered(bool checked)
{
    cqDialogFileViewSettings cqdg((QWidget*)mw, this, m_fontlist);
    m_fonttemp = m_textEditSourceFont.family();
    m_fontwidthtemp = (m_textEditSource->tabStopWidth() /
                       m_textEditSource->fontMetrics().width(' '));
    cqdg.setCurrentFontType(m_fonttemp);
    cqdg.setTabWidth(m_fontwidthtemp);
    cqdg.setModal(true);
    cqdg.exec();
    if (cqdg.result() == QDialog::Accepted)
    {
        m_textEditSourceFont.setFamily(m_fonttemp);
        m_textEditSource->setFont(m_textEditSourceFont);
        m_textEditSource->setTabStopWidth(m_fontwidthtemp *
                                          m_textEditSource->fontMetrics().width(' '));
        updateTextEdit();
    }
}
예제 #8
0
void codecs::readFileToBuffer (const QString &fileName)
{
    if ( fileName.isEmpty() )
        return;

    QFile file(fileName);
    if (!file.open(QFile::ReadOnly)) {
        QMessageBox::warning(this, tr("Codecs"),
                             tr("Cannot read file %1:\n%2")
                             .arg(fileName)
                             .arg(file.errorString()));
        return;
    } else {
        curDir = QDir(fileName).absolutePath();
    }
    encodedData = file.readAll();
    updateTextEdit();
    ui->writeBtn->setEnabled(true);
}
예제 #9
0
void PreviewForm::setEncodedData(const QByteArray &data)
{
    encodedData = data;
    updateTextEdit();
}
예제 #10
0
void fileviewer::fileToBeOpened(QString filename, QString linenum)
{
	filename.replace(QString("$HOME"), QDir::homePath());
#ifdef _WIN32
	filename.replace("/", "\\");
#endif
	if (!(QFile::exists(filename)))
	{
		m_labelFilePath->setText(tr("File not found"));
		handleFileCannotBeOpenedCase();
		return;
	}
	QFile file(filename);
	if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
	{
		m_labelFilePath->setText(tr("File could not be opened"));
		handleFileCannotBeOpenedCase();
		return;
	}
	file.close();

	QFileInfo fi(filename);
	if ((m_DBtimestamp < fi.lastModified())&&(m_timestampMismatchWarned == false))
	{
		
		m_timestampMismatchWarned = true;
		QMessageBox msgBox((QWidget*)mw);
		msgBox.setIcon(QMessageBox::Warning);
		msgBox.setStandardButtons(QMessageBox::Ok);
		msgBox.setText(tr("The source file to be viewed is newer than the CodeQuery database file. You are recommended to manually regenerate the CodeQuery database file."));
		msgBox.exec();
	}
	filedata fd(filename, linenum);
	if (m_fileDataList.isEmpty())
	{
		m_fileDataList.push_back(fd);
		m_iter = m_fileDataList.end() - 1;
		m_pushButtonPrev->setEnabled(false);
		m_pushButtonNext->setEnabled(false);
		updateTextEdit();
		return;
	}
	else if (m_iter == m_fileDataList.end())
	{
		// previous file not found
		m_fileDataList.push_back(fd);
		m_iter = m_fileDataList.end() - 1;
		m_pushButtonPrev->setEnabled(m_iter != m_fileDataList.begin());
		m_pushButtonNext->setEnabled(false);
		updateTextEdit();		
	}
	else if (m_iter->compare(fd))
	{
		// the same filename and line number
		updateFilePathLabel();
		return;
	}
	else if (m_iter->compareFilenameOnly(fd))
	{
		// same file, different line number
		m_fileDataList.push_back(fd);
		m_iter = m_fileDataList.end() - 1;
		m_pushButtonPrev->setEnabled(true);
		m_pushButtonNext->setEnabled(false);
		highlightLine(fd.linenum.toInt());
		updateFilePathLabel();
	}
	else
	{
		// different file
		m_fileDataList.push_back(fd);
		m_iter = m_fileDataList.end() - 1;
		m_pushButtonPrev->setEnabled(true);
		m_pushButtonNext->setEnabled(false);
		updateTextEdit();
	}
	QVector<filedata>::iterator it = m_fileDataList.begin();
	while ((it != m_fileDataList.end() - 1)&&(it != m_fileDataList.end()))
	{
		if (it->compare(fd)) m_fileDataList.erase(it);
		else it++;
	}
	if (m_fileDataList.size() > 20) m_fileDataList.erase(m_fileDataList.begin());
}