You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
3.8 KiB
142 lines
3.8 KiB
/***************************************************************************
|
|
begin : Sun Aug 3 2003
|
|
copyright : (C) 2003 by Jeroen Wijnhout
|
|
email : Jeroen.Wijnhout@kdemail.net
|
|
***************************************************************************/
|
|
|
|
/***************************************************************************
|
|
* *
|
|
* 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; either version 2 of the License, or *
|
|
* (at your option) any later version. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef KILEPROJECTDLGS_H
|
|
#define KILEPROJECTDLGS_H
|
|
|
|
#include <tqcheckbox.h>
|
|
#include <tqlayout.h>
|
|
#include <tqvgroupbox.h>
|
|
|
|
#include <kdialogbase.h>
|
|
#include <klineedit.h>
|
|
#include <kpushbutton.h>
|
|
|
|
#include "kileproject.h"
|
|
#include "templates.h"
|
|
|
|
class TemplateIconView;
|
|
class TQLabel;
|
|
class KileProject;
|
|
class KComboBox;
|
|
class TQVGroupBox;
|
|
class TemplateItem;
|
|
|
|
namespace KileDocument { class Extensions; }
|
|
namespace KileTemplate { class Manager; }
|
|
|
|
class KileProjectDlgBase : public KDialogBase
|
|
{
|
|
TQ_OBJECT
|
|
|
|
|
|
public:
|
|
KileProjectDlgBase(const TQString &caption, KileDocument::Extensions *extensions, TQWidget *parent = 0, const char * name = 0);
|
|
virtual ~KileProjectDlgBase();
|
|
|
|
void setProject(KileProject *project, bool override);
|
|
virtual KileProject* project();
|
|
|
|
void setProjectTitle(const TQString &title) { m_title->setText(title); }
|
|
const TQString projectTitle() { return m_title->text(); }
|
|
|
|
void setExtensions(KileProjectItem::Type type, const TQString & ext);
|
|
const TQString extensions(KileProjectItem::Type type)
|
|
{ return m_val_extensions[type-1]; }
|
|
|
|
protected slots:
|
|
virtual void slotOk() = 0;
|
|
virtual void fillProjectDefaults();
|
|
|
|
private slots:
|
|
void slotExtensionsHighlighted(int index);
|
|
void slotExtensionsTextChanged(const TQString &text);
|
|
|
|
protected:
|
|
KileDocument::Extensions *m_extmanager;
|
|
|
|
TQVGroupBox *m_pgroup, *m_egroup;
|
|
TQGridLayout *m_pgrid, *m_egrid;
|
|
TQLabel *m_plabel;
|
|
|
|
KLineEdit *m_title, *m_extensions;
|
|
TQLabel *m_lbPredefinedExtensions, *m_lbStandardExtensions;
|
|
KileProject *m_project;
|
|
KComboBox *m_sel_extensions;
|
|
|
|
TQString m_val_extensions[KileProjectItem::Other - 1];
|
|
TQString m_val_standardExtensions[KileProjectItem::Other - 1];
|
|
|
|
bool acceptUserExtensions();
|
|
|
|
};
|
|
|
|
class KileNewProjectDlg : public KileProjectDlgBase
|
|
{
|
|
TQ_OBJECT
|
|
|
|
|
|
public:
|
|
KileNewProjectDlg(KileTemplate::Manager *templateManager, KileDocument::Extensions *extensions, TQWidget* parent = 0, const char* name = 0);
|
|
~KileNewProjectDlg();
|
|
|
|
KileProject* project();
|
|
|
|
TQString bare();
|
|
TQString location() { return m_location->text(); }
|
|
|
|
TemplateItem* getSelection() const;
|
|
TQString file() { return m_file->text();}
|
|
bool createNewFile() { return m_cb->isChecked(); }
|
|
|
|
private slots:
|
|
void clickedCreateNewFileCb();
|
|
void browseLocation();
|
|
void makeProjectPath();
|
|
void slotOk();
|
|
void fillProjectDefaults();
|
|
|
|
private:
|
|
KileTemplate::Manager *m_templateManager;
|
|
KLineEdit *m_location, *m_file, *m_name;
|
|
TemplateIconView *m_templateIconView;
|
|
TQCheckBox *m_cb;
|
|
TQLabel *m_lb;
|
|
|
|
KPushButton *m_pbChooseDir;
|
|
TQString m_dir, m_filename;
|
|
};
|
|
|
|
class KileProjectOptionsDlg : public KileProjectDlgBase
|
|
{
|
|
TQ_OBJECT
|
|
|
|
|
|
public:
|
|
KileProjectOptionsDlg(KileProject *project, KileDocument::Extensions *extensions, TQWidget *parent = 0, const char * name = 0);
|
|
~KileProjectOptionsDlg();
|
|
|
|
private slots:
|
|
void slotOk();
|
|
void toggleMakeIndex(bool);
|
|
|
|
private:
|
|
KComboBox *m_master, *m_cbQuick;
|
|
KLineEdit *m_leMakeIndex;
|
|
TQCheckBox *m_ckMakeIndex;
|
|
};
|
|
|
|
#endif
|