DevWorkSpace::DevWorkSpace(QString name, QWidget *parent)
 : QTreeWidget(parent), n(name)
{
	setHeaderItem(new QTreeWidgetItem(	QStringList("WorkSpace : "),
										DevQt::classes) );
	
	root = new QTreeWidgetItem(	QStringList(QFileInfo(n).baseName()),
								DevQt::files);
	root->setIcon(0, QIcon(":/workspace.png"));
	addTopLevelItem(root);
	
	connect(this, SIGNAL( itemClicked(QTreeWidgetItem*, int) ),
			this, SLOT  ( focus(QTreeWidgetItem*, int) ) );
	
	DevProject *p;
	QTreeWidgetItem *i;
	
	i = new QTreeWidgetItem(QStringList("External"),
							DevQt::files);
	i->setIcon(0, QIcon(":/project.png"));
	p = new DevProject("External");
	
	insert(i, p);
	projects.append(p);
	addTopLevelItem(i);
	
	if ( QFile::exists(n) )
		loadWorkSpace(n);
}
Example #2
0
TrackerList::TrackerList(PropertiesWidget *properties): QTreeWidget(), properties(properties) {
  // Graphical settings
  setRootIsDecorated(false);
  setAllColumnsShowFocus(true);
  setItemsExpandable(false);
  setSelectionMode(QAbstractItemView::ExtendedSelection);
  // Context menu
  setContextMenuPolicy(Qt::CustomContextMenu);
  connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showTrackerListMenu(QPoint)));
  // Set header
  QStringList header;
  header << "#";
  header << tr("URL");
  header << tr("Status");
  header << tr("Peers");
  header << tr("Message");
  setHeaderItem(new QTreeWidgetItem(header));
  dht_item = new QTreeWidgetItem(QStringList() << "" << "** [DHT] **");
  insertTopLevelItem(0, dht_item);
  setRowColor(0, QColor("grey"));
  pex_item = new QTreeWidgetItem(QStringList() << "" << "** [PeX] **");
  insertTopLevelItem(1, pex_item);
  setRowColor(1, QColor("grey"));
  lsd_item = new QTreeWidgetItem(QStringList() << "" << "** [LSD] **");
  insertTopLevelItem(2, lsd_item);
  setRowColor(2, QColor("grey"));
  editHotkey = new QShortcut(QKeySequence("F2"), this, SLOT(editSelectedTracker()), 0, Qt::WidgetShortcut);
  connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(editSelectedTracker()));
  deleteHotkey = new QShortcut(QKeySequence(QKeySequence::Delete), this, SLOT(deleteSelectedTrackers()), 0, Qt::WidgetShortcut);
  copyHotkey = new QShortcut(QKeySequence(Qt::ControlModifier + Qt::Key_C), this, SLOT(copyTrackerUrl()), 0, Qt::WidgetShortcut);

  loadSettings();
}
Example #3
0
widgets::widgets(program_window* const  wnd)
    : QTreeWidget()
    , m_wnd(wnd)
    , m_icon_data_type((boost::filesystem::path{ get_program_options()->dataRoot() } /
                       "shared/gfx/icons/data_type.png").string().c_str())
    , m_icon_wainting_for_load((boost::filesystem::path{ get_program_options()->dataRoot() } /
                               "shared/gfx/icons/wait.png").string().c_str())
    , m_icon_being_loaded((boost::filesystem::path{ get_program_options()->dataRoot() } /
                          "shared/gfx/icons/loading.png").string().c_str())
    , m_icon_in_use((boost::filesystem::path{ get_program_options()->dataRoot() } /
                    "shared/gfx/icons/in_use.png").string().c_str())
    , m_icon_failed_to_load((boost::filesystem::path{ get_program_options()->dataRoot() } /
                            "shared/gfx/icons/error.png").string().c_str())
    , m_records()
    , m_just_being_loaded(async::get_invalid_key())
{
    setSelectionMode(QAbstractItemView::SelectionMode::NoSelection);

    {
        QTreeWidgetItem* const  headerItem = new QTreeWidgetItem();
        headerItem->setText(0, QString("Resource types"));
        headerItem->setText(1, QString("#Refs"));
        setHeaderItem(headerItem);
    }
    //int cc = columnCount();
    //int cs0 = columnWidth(0);
    //int cs1 = columnWidth(1);
    //int cs0X = (int)std::max(1.0f, std::roundf(0.9f * (cs0 + cs1)));
    //int cs1X = (int)std::max(1.0f, std::roundf(0.1f * (cs0 + cs1)));
    //setColumnWidth(0, cs0X);
    //setColumnWidth(1, cs1X);
}
Example #4
0
TrackerList::TrackerList(PropertiesWidget *properties): QTreeWidget(), properties(properties) {
  // Graphical settings
  setRootIsDecorated(false);
  setAllColumnsShowFocus(true);
  setItemsExpandable(false);
  setSelectionMode(QAbstractItemView::ExtendedSelection);
  // Context menu
  setContextMenuPolicy(Qt::CustomContextMenu);
  connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showTrackerListMenu(QPoint)));
  // Set header
  QStringList header;
  header << "#";
  header << tr("URL");
  header << tr("Status");
  header << tr("Received");
  header << tr("Seeds");
  header << tr("Peers");
  header << tr("Downloaded");
  header << tr("Message");
  setHeaderItem(new QTreeWidgetItem(header));
  dht_item = new QTreeWidgetItem({ "",  "** [DHT] **", "", "0", "", "", "0" });
  insertTopLevelItem(0, dht_item);
  setRowColor(0, QColor("grey"));
  pex_item = new QTreeWidgetItem({ "",  "** [PeX] **", "", "0", "", "", "0" });
  insertTopLevelItem(1, pex_item);
  setRowColor(1, QColor("grey"));
  lsd_item = new QTreeWidgetItem({ "",  "** [LSD] **", "", "0", "", "", "0" });
  insertTopLevelItem(2, lsd_item);
  setRowColor(2, QColor("grey"));
  editHotkey = new QShortcut(Qt::Key_F2, this, SLOT(editSelectedTracker()), 0, Qt::WidgetShortcut);
  connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(editSelectedTracker()));
  deleteHotkey = new QShortcut(QKeySequence::Delete, this, SLOT(deleteSelectedTrackers()), 0, Qt::WidgetShortcut);
  copyHotkey = new QShortcut(QKeySequence::Copy, this, SLOT(copyTrackerUrl()), 0, Qt::WidgetShortcut);

    // This hack fixes reordering of first column with Qt5.
    // https://github.com/qtproject/qtbase/commit/e0fc088c0c8bc61dbcaf5928b24986cd61a22777
    QTableView unused;
    unused.setVerticalHeader(this->header());
    this->header()->setParent(this);
    unused.setVerticalHeader(new QHeaderView(Qt::Horizontal));

  loadSettings();
}
DevWorkSpace::DevWorkSpace(QString name, QWidget *parent)
 : QTreeWidget(parent), n(name)
{
	setAcceptDrops(true);
	setDragEnabled(true);
	setDropIndicatorShown(true);
	setSelectionMode(QAbstractItemView::ExtendedSelection);
	//setSortingEnabled(true);
	
	setHeaderItem(new QTreeWidgetItem(	QStringList(tr("WorkSpace : ")),
										DevQt::classes) );
	
	connect(this, SIGNAL( itemActivated(QTreeWidgetItem*, int) ),
			this, SLOT  ( focus(QTreeWidgetItem*, int) ) );
	
	DevProject *p;
	QTreeWidgetItem *i;
	
	i = new QTreeWidgetItem(QStringList(tr("External")),
							DevQt::files);
	i->setIcon(0, QIcon(":/project.png"));
	i->setFlags( 	Qt::ItemIsSelectable | Qt::ItemIsEnabled | 
					Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled );
	
	p = new DevProject(tr("External"));
	p->m->clear();
	p->m->addAction(p->aSub);
	p->m->addAction(p->aNew);
	connect(p	, SIGNAL( addFile(DevFolder*) ),
			this, SLOT  ( addFile(DevFolder*) ) );
	connect(p	, SIGNAL( subFolder(DevFolder*) ),
			this, SLOT  ( subFolder(DevFolder*) ) );
	
	DevTreeMap::insert(i, p);
	DevProjectMap::insert(name, p);
	
	addTopLevelItem(i);
	
	if ( QFile::exists(n) )
		loadWorkSpace(n);
}
Example #6
0
Playlist::Playlist(QWidget* parent)
    : QTreeWidget( parent )
    , m_marker( 0 )
    , m_CurrentTrackColor(QColor( 255,100,100 ))
    , m_NextTrackColor(QColor( 200,200,255 ))
    , m_PlaylistMode( Playlist::Playlist_Single )
    , nextPlaylistItem (0)
    , previousPlaylistItem(0)
    , currentPlaylistItem(0)
    , newPlaylistItem(0)
    , m_alternateMax(0)
    , showDropHighlighter(false)
    , autoClearOn(false)
    , m_isPlaying(false)
    , m_isInternDrop(false)
    , m_dragLocked(false)
    , isChangeSignalEnabled(true)
{

    setSortingEnabled( false );
    setAcceptDrops( true );
    setDragEnabled( true );
    setAllColumnsShowFocus( false );
    setDropIndicatorShown(true);
    setAcceptDrops(true);
    setDragEnabled(true);
    setSelectionBehavior(QAbstractItemView::SelectRows);
    setSelectionMode(QAbstractItemView::ExtendedSelection);
    setDragDropMode(QAbstractItemView::InternalMove);
    setAttribute(Qt::WA_MacShowFocusRect, false);
    setUniformRowHeights(true);

    QStringList headers;
     headers << tr("Url")<<tr("No")<<tr("Played")<<tr("Artist")<<tr("Title");
     headers <<tr("Album")<<tr("Year")<<tr("Genre")<<tr("Track");
     headers <<tr("Length")<<tr("Rate");

    QTreeWidgetItem *headeritem = new QTreeWidgetItem(headers);
    setHeaderItem(headeritem);
    setHeaderLabels(headers);

    header()->setResizeMode(QHeaderView::Interactive);
    header()->hideSection(PlaylistItem::Column_Url);

    // prevent click event if doubleclicked
    ignoreNextRelease = false;
    timer = new QTimer(this);
    connect(timer, SIGNAL(timeout()), this, SLOT(emitClicked()));

    timerDragLock = new QTimer(this);
    timerDragLock->setInterval(300);
    connect(timerDragLock, SIGNAL(timeout()), this, SLOT(timeoutDragLock()));

    connect( this,     SIGNAL(itemClicked(QTreeWidgetItem*,int)) ,
             this,       SLOT(slotItemClicked(QTreeWidgetItem*,int)));
    connect( this,     SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)) ,
             this,       SLOT(slotItemDoubleClicked(QTreeWidgetItem*,int)));
    connect( this,     SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)),
             this,       SLOT(slotItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)));

}