Reverted c310667bd90457a4edafd752718046bf892b1ea6y to keep trunk at least

a bit usable, will continue FLUIQ development in a separate branch
This commit is contained in:
Tobias Doerffel
2009-02-24 17:08:01 +01:00
parent 7ec6080f92
commit 8c85e9b1cf
21 changed files with 720 additions and 329 deletions

View File

@@ -35,7 +35,6 @@
#include "midi_time.h"
#include "automation_pattern.h"
#include "combobox_model.h"
#include "fluiq/collapsible_widget.h"
class QPainter;
@@ -48,8 +47,7 @@ class timeLine;
class toolButton;
class automationEditor : public FLUIQ::CollapsibleWidget,
public journallingObject
class automationEditor : public QWidget, public journallingObject
{
Q_OBJECT
public:
@@ -150,8 +148,7 @@ private:
static const int InitialHeight = 480;
static const int ScrollBarSize = 16;
static const int TopMargin = 32 +
FLUIQ::CollapsibleWidgetHeader::MinimalHeight;
static const int TopMargin = 48;
static const int DefaultYDelta = 6;
static const int DefaultStepsPerTact = 16;

View File

@@ -30,6 +30,10 @@
#include <QtCore/QMutex>
#include <QtGui/QTreeWidget>
#include "side_bar_widget.h"
class QLineEdit;
class fileItem;
@@ -40,7 +44,7 @@ class trackContainer;
class fileBrowser : public QWidget
class fileBrowser : public sideBarWidget
{
Q_OBJECT
public:
@@ -50,10 +54,6 @@ public:
virtual ~fileBrowser();
protected:
virtual void keyPressEvent( QKeyEvent * _ke );
public slots:
void filterItems( const QString & _filter );
void reloadTree( void );
@@ -61,6 +61,7 @@ public slots:
private:
bool filterItems( QTreeWidgetItem * _item, const QString & _filter );
virtual void keyPressEvent( QKeyEvent * _ke );
void addItems( const QString & _path );

View File

@@ -29,10 +29,9 @@
#include <QtGui/QWidget>
#include "fx_mixer.h"
#include "fluiq/collapsible_widget.h"
class QStackedWidget;
class QStackedLayout;
class QButtonGroup;
class fader;
class fxLine;
@@ -41,7 +40,7 @@ class pixmapButton;
class fxMixerView : public FLUIQ::CollapsibleWidget, public modelView,
class fxMixerView : public QWidget, public modelView,
public serializingObjectHook
{
Q_OBJECT
@@ -54,7 +53,7 @@ public:
fxLine * currentFxLine( void )
{
return m_currentFxLine;
return( m_currentFxLine );
}
void setCurrentFxLine( fxLine * _line );
void setCurrentFxLine( int _line );
@@ -67,8 +66,6 @@ private slots:
private:
void createFxLine( int _line, QWidget * _parent );
struct fxChannelView
{
fxLine * m_fxLine;
@@ -79,7 +76,9 @@ private:
fxChannelView m_fxChannelViews[NumFxChannels+1];
QStackedWidget * m_fxRacksView;
QStackedLayout * m_fxRacksLayout;
QStackedLayout * m_fxLineBanks;
QButtonGroup * m_bankButtons;
fxLine * m_currentFxLine;
} ;

309
include/kmultitabbar.h Normal file
View File

@@ -0,0 +1,309 @@
/***************************************************************************
kmultitabbar.h - description
-------------------
begin : 2001
copyright : (C) 2001,2002,2003 by Joseph Wenninger <jowenn@kde.org>
***************************************************************************/
/***************************************************************************
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
***************************************************************************/
#ifndef _KMultitabbar_h_
#define _KMultitabbar_h_
#include <QtCore/QString>
#include <QtCore/QList>
#include <QtGui/QLayout>
#include <QtGui/QPushButton>
class QPixmap;
class QPainter;
class QFrame;
class QMenu;
class KMultiTabBarPrivate;
class KMultiTabBarTabPrivate;
class KMultiTabBarButtonPrivate;
class KMultiTabBarInternal;
/**
* A Widget for horizontal and vertical tabs.
* It is possible to add normal buttons to the top/left
* The handling if only one tab at a time or multiple tabs
* should be raisable is left to the "user".
*@author Joseph Wenninger
*/
class KMultiTabBar: public QWidget
{
Q_OBJECT
public:
enum KMultiTabBarMode{Horizontal, Vertical};
enum KMultiTabBarPosition{Left, Right, Top, Bottom};
/**
* The list of available styles for KMultiTabBar
* - VSNET - Visual Studio .Net like (only show the text of active tabs
* - KDEV3 - Kdevelop 3 like (always show the text)
* - KONQSBC - konqy's classic sidebar style (unthemed) (currently disabled)
*/
enum KMultiTabBarStyle{VSNET=0, KDEV3=1, KONQSBC=2, KDEV3ICON=3,STYLELAST=0xffff};
KMultiTabBar(KMultiTabBarMode bm,QWidget *parent=0 );
virtual ~KMultiTabBar();
/**
* append a new button to the button area. The button can later on be accessed with button(ID)
* eg for connecting signals to it
* @param pic a pixmap for the button
* @param id an arbitraty ID value. It will be emitted in the clicked signal for identifying the button
* if more than one button is connected to a signals.
* @param popup A popup menu which should be displayed if the button is clicked
* @param not_used_yet will be used for a popup text in the future
*/
int appendButton(const QPixmap &pic,int id=-1,QMenu* popup=0,const QString& not_used_yet=QString());
/**
* remove a button with the given ID
*/
void removeButton(int id);
/**
* append a new tab to the tab area. It can be accessed lateron with tabb(id);
* @param pic a bitmap for the tab
* @param id an arbitrary ID which can be used later on to identify the tab
* @param text if a mode with text is used it will be the tab text, otherwise a mouse over hint
*/
int appendTab(const QPixmap &pic,int id=-1,const QString& text=QString());
/**
* remove a tab with a given ID
*/
void removeTab(int id);
/**
* set a tab to "raised"
* @param id The ID of the tab to manipulate
* @param state true == activated/raised, false == not active
*/
void setTab(int id ,bool state);
/**
* return the state of a tab, identified by it's ID
*/
bool isTabRaised(int id) const;
/**
* get a pointer to a button within the button area identified by its ID
*/
class KMultiTabBarButton *button(int id) const;
/**
* get a pointer to a tab within the tab area, identiifed by its ID
*/
class KMultiTabBarTab *tab(int id) const;
/**
* set the real position of the widget.
* @param pos if the mode is horizontal, only use top, bottom, if it is vertical use left or right
*/
void setPosition(KMultiTabBarPosition pos);
/**
* get the tabbar position.
* @return position
*/
KMultiTabBarPosition position() const;
/**
* set the display style of the tabs
*/
void setStyle(KMultiTabBarStyle style);
/**
* get the display style of the tabs
* @return display style
*/
KMultiTabBarStyle tabStyle() const;
/**
* be carefull, don't delete tabs yourself and don't delete the list itself
*/
QList<KMultiTabBarTab *>* tabs();
/**
* be carefull, don't delete buttons yourself and don't delete the list itself
*/
QList<KMultiTabBarButton *>* buttons();
/**
* might vanish, not sure yet
*/
void showActiveTabTexts(bool show=true);
protected:
friend class KMultiTabBarButton;
virtual void fontChange( const QFont& );
void updateSeparator();
private:
class KMultiTabBarInternal *m_internal;
QBoxLayout *m_l;
QFrame *m_btnTabSep;
QList<KMultiTabBarButton *> m_buttons;
KMultiTabBarPosition m_position;
KMultiTabBarPrivate *d;
};
/**
* This class should never be created except with the appendButton call of KMultiTabBar
*/
class KMultiTabBarButton: public QPushButton
{
Q_OBJECT
public:
KMultiTabBarButton(const QPixmap& pic,const QString&, QMenu *popup,
int id,QWidget *parent, KMultiTabBar::KMultiTabBarPosition pos, KMultiTabBar::KMultiTabBarStyle style);
KMultiTabBarButton(const QString&, QMenu *popup,
int id,QWidget *parent, KMultiTabBar::KMultiTabBarPosition pos, KMultiTabBar::KMultiTabBarStyle style);
virtual ~KMultiTabBarButton();
int id() const;
public slots:
/**
* this is used internaly, but can be used by the user, if (s)he wants to
* It the according call of KMultiTabBar is invoked though this modifications will be overwritten
*/
void setPosition(KMultiTabBar::KMultiTabBarPosition);
/**
* this is used internaly, but can be used by the user, if (s)he wants to
* It the according call of KMultiTabBar is invoked though this modifications will be overwritten
*/
void setStyle(KMultiTabBar::KMultiTabBarStyle);
/**
* modify the text of the button
*/
void setText(const QString &);
QSize sizeHint() const;
protected:
KMultiTabBar::KMultiTabBarPosition m_position;
KMultiTabBar::KMultiTabBarStyle m_style;
QString m_text;
virtual void hideEvent( class QHideEvent*);
virtual void showEvent( class QShowEvent*);
private:
int m_id;
KMultiTabBarButtonPrivate *d;
signals:
/**
* this is emitted if the button is clicked
* @param id the ID identifying the button
*/
void clicked(int id);
protected slots:
virtual void slotClicked();
};
/**
* This class should never be created except with the appendTab call of KMultiTabBar
*/
class KMultiTabBarTab: public KMultiTabBarButton
{
Q_OBJECT
public:
KMultiTabBarTab(const QPixmap& pic,const QString&,int id,QWidget *parent,
KMultiTabBar::KMultiTabBarPosition pos,KMultiTabBar::KMultiTabBarStyle style);
virtual ~KMultiTabBarTab();
/**
* set the active state of the tab
* @param state true==active false==not active
*/
void setState(bool state);
/**
* choose if the text should always be displayed
* this is only used in classic mode if at all
*/
void showActiveTabText(bool show);
void resize(){ setSize( neededSize() ); }
private:
bool m_showActiveTabText;
int m_expandedSize;
KMultiTabBarTabPrivate *d;
protected:
friend class KMultiTabBarInternal;
void setSize(int);
int neededSize();
void updateState();
virtual void paintEvent(QPaintEvent *);
virtual void drawButton(QPainter *);
virtual void drawButtonLabel(QPainter *);
void drawButtonStyled(QPainter *);
void drawButtonClassic(QPainter *);
protected slots:
virtual void slotClicked();
void setTabsPosition(KMultiTabBar::KMultiTabBarPosition);
public slots:
virtual void setIcon(const QString&);
virtual void setIcon(const QPixmap&);
};
/***************************************************************************
kmultitabbar_p.h - description
-------------------
begin : 2003
copyright : (C) 2003 by Joseph Wenninger <jowenn@kde.org>
***************************************************************************/
/***************************************************************************
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
***************************************************************************/
class KMultiTabBarInternal: public QWidget
{
Q_OBJECT
public:
KMultiTabBarInternal(QWidget *parent,KMultiTabBar::KMultiTabBarMode bm);
int appendTab(const QPixmap &,int=-1,const QString& =QString());
KMultiTabBarTab *tab(int) const;
void removeTab(int);
void setPosition(enum KMultiTabBar::KMultiTabBarPosition pos);
void setStyle(enum KMultiTabBar::KMultiTabBarStyle style);
void showActiveTabTexts(bool show);
QList<KMultiTabBarTab *>* tabs(){return &m_tabs;}
private:
friend class KMultiTabBar;
QWidget *box;
QBoxLayout *mainLayout;
QList<KMultiTabBarTab *> m_tabs;
enum KMultiTabBar::KMultiTabBarPosition m_position;
bool m_showActiveTabTexts;
enum KMultiTabBar::KMultiTabBarStyle m_style;
int m_expandedTabSize;
int m_lines;
KMultiTabBar::KMultiTabBarMode m_barMode;
protected:
virtual bool eventFilter(QObject *,QEvent*);
// virtual void paintEvent( QPaintEvent * );
virtual void resizeEvent(QResizeEvent *);
};
#endif

View File

@@ -47,11 +47,6 @@ class textFloat;
class configManager;
class pluginView;
class toolButton;
namespace FLUIQ
{
class WidgetContainer;
class CollapsibleWidget;
}
enum ProjectPlaybackMode
{
@@ -69,11 +64,6 @@ public:
return( m_workspace );
}
inline FLUIQ::WidgetContainer * centralWidgetContainer( void )
{
return m_centralWidgetContainer;
}
inline QWidget * toolBar( void )
{
return( m_toolBar );
@@ -162,11 +152,10 @@ private:
void finalize( void );
void toggleWindow( FLUIQ::CollapsibleWidget * _w );
void toggleWindow( QWidget * _w );
QMdiArea * m_workspace;
FLUIQ::WidgetContainer * m_centralWidgetContainer;
QWidget * m_toolBar;
QHBoxLayout * m_toolBarLayout;

View File

@@ -28,12 +28,13 @@
#ifndef _PIANO_ROLL_H
#define _PIANO_ROLL_H
#include <QtGui/QWidget>
#include "combobox_model.h"
#include "serializing_object.h"
#include "note.h"
#include "lmms_basics.h"
#include "song.h"
#include "fluiq/collapsible_widget.h"
class QPainter;
@@ -50,7 +51,7 @@ class timeLine;
class toolButton;
class pianoRoll : public FLUIQ::CollapsibleWidget, public serializingObject
class pianoRoll : public QWidget, public serializingObject
{
Q_OBJECT
public:

View File

@@ -1,7 +1,7 @@
/*
* plugin_browser.h - include file for pluginBrowser
*
* Copyright (c) 2005-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2005-2007 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -28,27 +28,29 @@
#include <QtCore/QTimer>
#include <QtCore/QVector>
#include <QtGui/QWidget>
#include <QtGui/QPixmap>
#include "side_bar_widget.h"
#include "plugin.h"
class trackContainer;
class pluginBrowser : public QWidget
class pluginBrowser : public sideBarWidget
{
Q_OBJECT
public:
pluginBrowser( QWidget * _parent = NULL );
pluginBrowser( QWidget * _parent );
virtual ~pluginBrowser();
private:
QVector<plugin::descriptor> m_pluginDescriptors;
QWidget * m_view;
} ;

97
include/side_bar.h Normal file
View File

@@ -0,0 +1,97 @@
/*
* side_bar.h - code for side-bar in LMMS
*
* Copyright (c) 2004-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#ifndef _SIDE_BAR_H
#define _SIDE_BAR_H
#include <QtCore/QMap>
#include "kmultitabbar.h"
#include "side_bar_widget.h"
class sideBar : public KMultiTabBar
{
Q_OBJECT
public:
sideBar( KMultiTabBarMode _m, QWidget * _parent ) :
KMultiTabBar( _m, _parent )
{
}
virtual ~sideBar()
{
}
inline int appendTab( sideBarWidget * _sbw, int _id )
{
int ret = KMultiTabBar::appendTab( _sbw->icon(), _id,
_sbw->title() );
m_widgets[_id] = _sbw;
_sbw->hide();
_sbw->setMinimumWidth( 200 );
connect( tab( _id ), SIGNAL( clicked( int ) ), this,
SLOT( tabClicked( int ) ) );
return( ret );
}
private slots:
inline void tabClicked( int _id )
{
// disable all other tabbar-buttons
QMap<int, QWidget *>::Iterator it;
for( it = m_widgets.begin(); it != m_widgets.end(); ++it )
{
if( it.key() != _id/* && isTabRaised(it.key()) == TRUE*/ )
{
setTab( it.key(), FALSE );
}
if( m_widgets[it.key()] != NULL )
{
m_widgets[it.key()]->hide();
}
}
if( m_widgets[_id] != NULL )
{
if( isTabRaised( _id ) )
{
m_widgets[_id]->show();
}
else
{
m_widgets[_id]->hide();
}
}
}
private:
QMap<int, QWidget *> m_widgets;
} ;
#endif

77
include/side_bar_widget.h Normal file
View File

@@ -0,0 +1,77 @@
/*
* side_bar_widget.h - base-class for all side-bar-widgets
*
* Copyright (c) 2004-2007 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.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.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program (see COPYING); if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
*/
#ifndef _SIDE_BAR_WIDGET_H
#define _SIDE_BAR_WIDGET_H
#include <QtGui/QPixmap>
#include <QtGui/QVBoxLayout>
#include <QtGui/QWidget>
class sideBarWidget : public QWidget
{
Q_OBJECT
public:
sideBarWidget( const QString & _title, const QPixmap & _icon,
QWidget * _parent );
virtual ~sideBarWidget();
inline const QPixmap & icon( void ) const
{
return( m_icon );
}
inline const QString & title( void ) const
{
return( m_title );
}
protected:
virtual void paintEvent( QPaintEvent * _pe );
virtual void resizeEvent( QResizeEvent * _re );
inline virtual void contextMenuEvent( QContextMenuEvent * )
{
}
inline QWidget * contentParent( void )
{
return( m_contents );
}
inline void addContentWidget( QWidget * _w )
{
m_layout->addWidget( _w );
}
private:
QWidget * m_contents;
QVBoxLayout * m_layout;
QString m_title;
QPixmap m_icon;
} ;
#endif

View File

@@ -33,15 +33,13 @@
#include "track.h"
#include "journalling_object.h"
#include "fluiq/collapsible_widget.h"
class QVBoxLayout;
class trackContainer;
class trackContainerView : public FLUIQ::CollapsibleWidget,
public modelView,
class trackContainerView : public QWidget, public modelView,
public journallingObject,
public serializingObjectHook
{
@@ -55,22 +53,22 @@ public:
QWidget * contentWidget( void )
{
return m_scrollArea;
return( m_scrollArea );
}
inline const midiTime & currentPosition( void ) const
{
return m_currentPosition;
return( m_currentPosition );
}
virtual bool fixedTCOs( void ) const
{
return false;
return( FALSE );
}
inline float pixelsPerTact( void ) const
{
return m_ppt;
return( m_ppt );
}
void setPixelsPerTact( int _ppt );
@@ -81,27 +79,27 @@ public:
inline bool rubberBandActive( void ) const
{
return m_rubberBand->isVisible();
return( m_rubberBand->isVisible() );
}
inline QVector<selectableObject *> selectedObjects( void )
{
if( allowRubberband() == true )
if( allowRubberband() == TRUE )
{
return m_rubberBand->selectedObjects();
return( m_rubberBand->selectedObjects() );
}
return QVector<selectableObject *>();
return( QVector<selectableObject *>() );
}
trackContainer * model( void )
{
return m_tc;
return( m_tc );
}
const trackContainer * model( void ) const
{
return m_tc;
return( m_tc );
}
void moveTrackViewUp( trackView * _tv );
@@ -116,7 +114,7 @@ public:
virtual QString nodeName( void ) const
{
return "trackcontainerview";
return( "trackcontainerview" );
}
@@ -131,7 +129,7 @@ protected:
const QList<trackView *> & trackViews( void ) const
{
return m_trackViews;
return( m_trackViews );
}
virtual void dragEnterEvent( QDragEnterEvent * _dee );

View File

@@ -97,12 +97,12 @@ void engine::init( const bool _has_gui )
{
s_mainWindow = new mainWindow;
s_songEditor = new songEditor( s_song, s_songEditor );
s_bbEditor = new bbEditor( s_bbTrackContainer );
s_pianoRoll = new pianoRoll;
s_automationEditor = new automationEditor;
s_fxMixerView = new fxMixerView;
s_controllerRackView = new controllerRackView;
s_projectNotes = new projectNotes;
s_bbEditor = new bbEditor( s_bbTrackContainer );
s_pianoRoll = new pianoRoll;
s_automationEditor = new automationEditor;
s_mainWindow->finalize();
}

View File

@@ -65,7 +65,6 @@
#include "bb_track_container.h"
#include "piano_roll.h"
#include "debug.h"
#include "fluiq/widget_container.h"
@@ -76,7 +75,7 @@ QPixmap * automationEditor::s_toolMove = NULL;
automationEditor::automationEditor( void ) :
FLUIQ::CollapsibleWidget( Qt::Vertical ),
QWidget(),
m_zoomingXModel(),
m_zoomingYModel(),
m_quantizeModel(),
@@ -134,9 +133,8 @@ automationEditor::automationEditor( void ) :
m_toolBar = new QWidget( this );
m_toolBar->setFixedHeight( 32 );
m_toolBar->move( 0, 0 );
m_toolBar->setAutoFillBackground( true );
addWidget( m_toolBar );
QPalette pal;
pal.setBrush( m_toolBar->backgroundRole(),
embed::getIconPixmap( "toolbar_bg" ) );
@@ -358,7 +356,18 @@ automationEditor::automationEditor( void ) :
setMinimumSize( tb_layout->minimumSize().width(), 128 );
engine::getMainWindow()->centralWidgetContainer()->addWidget( this );
// add us to workspace
if( engine::getMainWindow()->workspace() )
{
engine::getMainWindow()->workspace()->addSubWindow( this );
parentWidget()->resize( InitialWidth, InitialHeight );
parentWidget()->hide();
}
else
{
resize( InitialWidth, InitialHeight );
hide();
}
}

View File

@@ -50,8 +50,7 @@ bbEditor::bbEditor( bbTrackContainer * _tc ) :
pal.setBrush( m_toolBar->backgroundRole(),
embed::getIconPixmap( "toolbar_bg" ) );
m_toolBar->setPalette( pal );
insertWidget( 1, m_toolBar );
// static_cast<QVBoxLayout *>( layout() )->insertWidget( 0, m_toolBar );
static_cast<QVBoxLayout *>( layout() )->insertWidget( 0, m_toolBar );
QHBoxLayout * tb_layout = new QHBoxLayout( m_toolBar );
tb_layout->setSpacing( 0 );
@@ -59,8 +58,7 @@ bbEditor::bbEditor( bbTrackContainer * _tc ) :
setWindowIcon( embed::getIconPixmap( "bb_track" ) );
setWindowTitle( tr( "PATTERN EDITOR" ) );
setWindowTitle( tr( "Beat+Bassline Editor" ) );
// TODO: Use style sheet
setMinimumWidth( TRACK_OP_WIDTH + DEFAULT_SETTINGS_WIDGET_WIDTH
+ 2 * TCO_BORDER_WIDTH + 192 );
@@ -114,12 +112,12 @@ bbEditor::bbEditor( bbTrackContainer * _tc ) :
tb_layout->addWidget( l );
tb_layout->addSpacing( 15 );
/* engine::getMainWindow()->workspace()->addSubWindow( this );
engine::getMainWindow()->workspace()->addSubWindow( this );
parentWidget()->setAttribute( Qt::WA_DeleteOnClose, FALSE );
parentWidget()->layout()->setSizeConstraint( QLayout::SetMinimumSize );
parentWidget()->resize( minimumWidth(), 300 );
parentWidget()->move( 610, 5 );
parentWidget()->show();*/
parentWidget()->show();
setModel( _tc );

View File

@@ -63,19 +63,16 @@ enum TreeWidgetItemTypes
fileBrowser::fileBrowser( const QString & _directories, const QString & _filter,
const QString & _title, const QPixmap & _pm,
QWidget * _parent, bool _dirs_as_items ) :
QWidget( _parent ),
sideBarWidget( _title, _pm, _parent ),
m_directories( _directories ),
m_filter( _filter ),
m_dirsAsItems( _dirs_as_items )
{
QVBoxLayout * viewLayout = new QVBoxLayout( this );
viewLayout->setMargin( 5 );
viewLayout->setSpacing( 5 );
setWindowTitle( tr( "Browser" ) );
m_l = new fileBrowserTreeWidget( contentParent() );
addContentWidget( m_l );
m_l = new fileBrowserTreeWidget( this );
viewLayout->addWidget( m_l );
QWidget * ops = new QWidget( this );
QWidget * ops = new QWidget( contentParent() );
ops->setFixedHeight( 24 );
QHBoxLayout * opl = new QHBoxLayout( ops );
@@ -95,9 +92,10 @@ fileBrowser::fileBrowser( const QString & _directories, const QString & _filter,
opl->addSpacing( 5 );
opl->addWidget( reload_btn );
viewLayout->addWidget( ops );
addContentWidget( ops );
reloadTree();
show();
}

View File

@@ -29,9 +29,9 @@
#include <QtGui/QMdiArea>
#include <QtGui/QMdiSubWindow>
#include <QtGui/QPainter>
#include <QtGui/QScrollArea>
#include <QtGui/QScrollBar>
#include <QtGui/QStackedWidget>
#include <QtGui/QPushButton>
#include <QtGui/QToolButton>
#include <QtGui/QStackedLayout>
#include "fx_mixer_view.h"
#include "fader.h"
@@ -44,8 +44,6 @@
#include "tooltip.h"
#include "pixmap_button.h"
#include "fluiq/widget_container.h"
class fxLine : public QWidget
@@ -100,7 +98,7 @@ private:
fxMixerView::fxMixerView() :
FLUIQ::CollapsibleWidget( Qt::Vertical ),
QWidget(),
modelView( NULL, this ),
serializingObjectHook()
{
@@ -111,66 +109,111 @@ fxMixerView::fxMixerView() :
//pal.setColor( QPalette::Background, QColor( 72, 76, 88 ) );
//setPalette( pal );
setAutoFillBackground( true );
setSizePolicy( QSizePolicy::MinimumExpanding, QSizePolicy::Fixed );
setFixedHeight( 280 );
setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Minimum );
setWindowTitle( tr( "FX MIXER" ) );
setWindowTitle( tr( "FX-Mixer" ) );
setWindowIcon( embed::getIconPixmap( "fx_mixer" ) );
m_fxLineBanks = new QStackedLayout;
m_fxLineBanks->setSpacing( 0 );
m_fxLineBanks->setMargin( 1 );
m_fxRacksLayout = new QStackedLayout;
m_fxRacksLayout->setSpacing( 0 );
m_fxRacksLayout->setMargin( 0 );
// main-layout
QWidget * mainWidget = new QWidget;
QHBoxLayout * mainLayout = new QHBoxLayout;
mainLayout->setMargin( 5 );
mainLayout->setSpacing( 5 );
mainLayout->addSpacing( 0 );
mainWidget->setLayout( mainLayout );
QHBoxLayout * ml = new QHBoxLayout;
ml->setMargin( 0 );
ml->setSpacing( 0 );
ml->addSpacing( 6 );
m_fxRacksView = new QStackedWidget;
m_fxRacksView->setFixedSize( 250, 250 );
mainLayout->addWidget( m_fxRacksView, 0, Qt::AlignTop );
mainLayout->addSpacing( 8 );
QScrollArea * scrollArea = new QScrollArea( mainWidget );
scrollArea->setWidget( new QWidget );
scrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
scrollArea->setFrameShape( QScrollArea::NoFrame );
scrollArea->setFixedHeight( 250 );
scrollArea->horizontalScrollBar()->setSingleStep( 33 );
scrollArea->horizontalScrollBar()->setPageStep( 33 );
QWidget * scrollAreaWidget = scrollArea->widget();
QHBoxLayout * scrollAreaLayout = new QHBoxLayout( scrollAreaWidget );
scrollAreaLayout->setSizeConstraint( QLayout::SetMinAndMaxSize );
scrollAreaLayout->setMargin( 0 );
scrollAreaLayout->setSpacing( 1 );
QHBoxLayout * banks[NumFxChannels/16];
for( int i = 0; i < NumFxChannels/16; ++i )
{
QWidget * w = new QWidget( this );
banks[i] = new QHBoxLayout( w );
banks[i]->setMargin( 5 );
banks[i]->setSpacing( 1 );
m_fxLineBanks->addWidget( w );
}
for( int i = 0; i < NumFxChannels+1; ++i )
{
fxChannelView * view = &m_fxChannelViews[i];
createFxLine( i, i == 0 ? mainWidget : scrollAreaWidget );
fxChannelView * cv = &m_fxChannelViews[i];
if( i == 0 )
{
mainLayout->addWidget( view->m_fxLine, 0,
Qt::AlignTop );
mainLayout->addSpacing( 5 );
cv->m_fxLine = new fxLine( NULL, this,
m->m_fxChannels[i]->m_name );
ml->addWidget( cv->m_fxLine );
ml->addSpacing( 10 );
}
else
{
scrollAreaLayout->addWidget( view->m_fxLine );
const int bank = (i-1) / 16;
cv->m_fxLine = new fxLine( NULL, this,
m->m_fxChannels[i]->m_name );
banks[bank]->addWidget( cv->m_fxLine );
}
lcdSpinBox * l = new lcdSpinBox( 2, cv->m_fxLine );
l->model()->setRange( i, i );
l->model()->setValue( i );
l->move( 2, 4 );
l->setMarginWidth( 1 );
cv->m_fader = new fader( &m->m_fxChannels[i]->m_volumeModel,
cv->m_fxLine );
cv->m_fader->move( 15-cv->m_fader->width()/2,
cv->m_fxLine->height()-
cv->m_fader->height()-5 );
cv->m_muteBtn = new pixmapButton( cv->m_fxLine, tr( "Mute" ) );
cv->m_muteBtn->setModel( &m->m_fxChannels[i]->m_muteModel );
cv->m_muteBtn->setActiveGraphic(
embed::getIconPixmap( "led_off" ) );
cv->m_muteBtn->setInactiveGraphic(
embed::getIconPixmap( "led_green" ) );
cv->m_muteBtn->setCheckable( true );
cv->m_muteBtn->move( 9, cv->m_fader->y()-16);
toolTip::add( cv->m_muteBtn, tr( "Mute this FX channel" ) );
cv->m_rackView = new effectRackView(
&m->m_fxChannels[i]->m_fxChain, this );
m_fxRacksLayout->addWidget( cv->m_rackView );
if( i == 0 )
{
QVBoxLayout * l = new QVBoxLayout;
l->addSpacing( 10 );
QButtonGroup * g = new QButtonGroup( this );
m_bankButtons = g;
g->setExclusive( true );
for( int j = 0; j < 4; ++j )
{
QToolButton * btn = new QToolButton;
btn->setText( QString( 'A'+j ) );
btn->setCheckable( true );
btn->setSizePolicy( QSizePolicy::Preferred,
QSizePolicy::Expanding );
l->addWidget( btn );
g->addButton( btn, j );
btn->setChecked( j == 0);
}
l->addSpacing( 10 );
ml->addLayout( l );
connect( g, SIGNAL( buttonClicked( int ) ),
m_fxLineBanks, SLOT( setCurrentIndex( int ) ) );
}
view->m_rackView = new effectRackView(
&m->m_fxChannels[i]->m_fxChain );
view->m_rackView->setFixedWidth( 240 );
view->m_rackView->mainLayout()->setMargin( 0 );
m_fxRacksView->addWidget( view->m_rackView );
}
mainLayout->addWidget( scrollArea, 0, Qt::AlignTop );
addWidget( mainWidget );
ml->addLayout( m_fxLineBanks );
ml->addLayout( m_fxRacksLayout );
setLayout( ml );
updateGeometry();
m_fxLineBanks->setCurrentIndex( 0 );
setCurrentFxLine( m_fxChannelViews[0].m_fxLine );
// timer for updating faders
@@ -178,7 +221,17 @@ fxMixerView::fxMixerView() :
this, SLOT( updateFaders() ) );
engine::getMainWindow()->centralWidgetContainer()->addWidget( this );
// add ourself to workspace
QMdiSubWindow * subWin =
engine::getMainWindow()->workspace()->addSubWindow( this );
Qt::WindowFlags flags = subWin->windowFlags();
flags |= Qt::MSWindowsFixedSizeDialogHint;
flags &= ~Qt::WindowMaximizeButtonHint;
subWin->setWindowFlags( flags );
subWin->layout()->setSizeConstraint(QLayout::SetFixedSize);
parentWidget()->setAttribute( Qt::WA_DeleteOnClose, false );
parentWidget()->move( 5, 310 );
// we want to receive dataChanged-signals in order to update
setModel( m );
@@ -217,7 +270,7 @@ void fxMixerView::setCurrentFxLine( fxLine * _line )
{
if( m_fxChannelViews[i].m_fxLine == _line )
{
m_fxRacksView->setCurrentIndex( i );
m_fxRacksLayout->setCurrentIndex( i );
}
m_fxChannelViews[i].m_fxLine->update();
}
@@ -230,6 +283,8 @@ void fxMixerView::setCurrentFxLine( int _line )
if ( _line >= 0 && _line < NumFxChannels+1 )
{
setCurrentFxLine( m_fxChannelViews[_line].m_fxLine );
m_bankButtons->button( (_line-1) / 16 )->click();
}
}
@@ -278,37 +333,5 @@ void fxMixerView::updateFaders( void )
void fxMixerView::createFxLine( int _line, QWidget * _parent )
{
fxMixer * m = engine::getFxMixer();
fxChannelView * view = &m_fxChannelViews[_line];
view->m_fxLine = new fxLine( _parent, this,
m->m_fxChannels[_line]->m_name );
lcdSpinBox * l = new lcdSpinBox( 2, view->m_fxLine );
l->model()->setRange( _line, _line );
l->model()->setValue( _line );
l->move( 2, 4 );
l->setMarginWidth( 1 );
view->m_fader = new fader( &m->m_fxChannels[_line]->m_volumeModel,
view->m_fxLine );
view->m_fader->move( 15-view->m_fader->width()/2,
view->m_fxLine->height()-
view->m_fader->height()-5 );
view->m_muteBtn = new pixmapButton( view->m_fxLine, tr( "Mute" ) );
view->m_muteBtn->setModel( &m->m_fxChannels[_line]->m_muteModel );
view->m_muteBtn->setActiveGraphic(
embed::getIconPixmap( "led_off" ) );
view->m_muteBtn->setInactiveGraphic(
embed::getIconPixmap( "led_green" ) );
view->m_muteBtn->setCheckable( true );
view->m_muteBtn->move( 9, view->m_fader->y()-16 );
toolTip::add( view->m_muteBtn, tr( "Mute this FX channel" ) );
}
#include "moc_fx_mixer_view.cxx"

View File

@@ -31,7 +31,6 @@
#include <QtGui/QCloseEvent>
#include <QtGui/QDesktopServices>
#include <QtGui/QFileDialog>
#include <QtGui/QLineEdit>
#include <QtGui/QMdiArea>
#include <QtGui/QMdiSubWindow>
#include <QtGui/QMenuBar>
@@ -58,6 +57,7 @@
#include "controller_rack_view.h"
#include "file_browser.h"
#include "plugin_browser.h"
#include "side_bar.h"
#include "config_mgr.h"
#include "mixer.h"
#include "plugin_view.h"
@@ -77,17 +77,8 @@
#include "cpuload_widget.h"
#include "visualization_widget.h"
#include "resources_db.h"
#include "resources_tree_model.h"
#include "resources_tree_view.h"
#include "gui/tracks/track_container_scene.h"
#include "fluiq/workspace.h"
#include "fluiq/widget_container.h"
#include "fluiq/collapsible_widget.h"
mainWindow::mainWindow( void ) :
m_workspace( NULL ),
@@ -97,14 +88,13 @@ mainWindow::mainWindow( void ) :
{
setAttribute( Qt::WA_DeleteOnClose );
QWidget * mainWidget = new QWidget( this );
QVBoxLayout * vbox = new QVBoxLayout( mainWidget );
QWidget * main_widget = new QWidget( this );
QVBoxLayout * vbox = new QVBoxLayout( main_widget );
vbox->setSpacing( 0 );
vbox->setMargin( 0 );
#if 0
QWidget * w = new QWidget( mainWidget );
QWidget * w = new QWidget( main_widget );
QHBoxLayout * hbox = new QHBoxLayout( w );
hbox->setSpacing( 0 );
hbox->setMargin( 0 );
@@ -165,94 +155,6 @@ mainWindow::mainWindow( void ) :
), ++id );
m_workspace = new QMdiArea( splitter );
#endif
FLUIQ::Workspace * ws = new FLUIQ::Workspace( mainWidget );
FLUIQ::CollapsibleWidget * componentWidget =
new FLUIQ::CollapsibleWidget( Qt::Horizontal, ws );
componentWidget->setWindowTitle( tr( "COMPONENTS" ) );
FLUIQ::WidgetContainer * componentContainer =
new FLUIQ::WidgetContainer( Qt::Vertical, componentWidget );
componentWidget->addWidget( componentContainer );
FLUIQ::CollapsibleWidget * resourcesWidget =
new FLUIQ::CollapsibleWidget( Qt::Vertical,
componentContainer );
resourcesWidget->setWindowTitle( tr( "RESOURCES" ) );
ResourcesTreeModel * rtm = new ResourcesTreeModel(
engine::getResourcesDB() );
ResourcesTreeView * tv = new ResourcesTreeView( rtm, resourcesWidget );
QLineEdit * le = new QLineEdit;
resourcesWidget->addWidget( tv );
resourcesWidget->addWidget( le );
connect( le, SIGNAL( textChanged( const QString & ) ),
tv, SLOT( setFilter( const QString & ) ) );
componentContainer->addWidget( resourcesWidget );
FLUIQ::CollapsibleWidget * pluginsWidget =
new FLUIQ::CollapsibleWidget( Qt::Vertical,
componentContainer );
pluginsWidget->setWindowTitle( tr( "INSTRUMENTS" ) );
pluginBrowser * pb = new pluginBrowser();
pluginsWidget->addWidget( pb );
componentContainer->addWidget( pluginsWidget );
FLUIQ::CollapsibleWidget * homeBrowserW =
new FLUIQ::CollapsibleWidget( Qt::Vertical,
componentContainer );
homeBrowserW->setWindowTitle( tr( "HOME DIRECTORY" ) );
fileBrowser * hb = new fileBrowser( QDir::homePath(), "*",
tr( "My home" ),
embed::getIconPixmap( "home" ),
NULL );
homeBrowserW->addWidget( hb );
componentContainer->addWidget( homeBrowserW );
componentWidget->setMaximumWidth( 300 );
ws->addWidget( componentWidget );
FLUIQ::CollapsibleWidget * editorsWidget =
new FLUIQ::CollapsibleWidget( Qt::Horizontal, ws );
editorsWidget->setWindowTitle( tr( "EDITORS" ) );
m_centralWidgetContainer = new FLUIQ::WidgetContainer( Qt::Vertical,
editorsWidget );
editorsWidget->addWidget( m_centralWidgetContainer );
FLUIQ::CollapsibleWidget * workspaceWidget =
new FLUIQ::CollapsibleWidget( Qt::Vertical,
m_centralWidgetContainer );
workspaceWidget->setWindowTitle( tr( "WORKSPACE" ) );
m_workspace = new QMdiArea;
workspaceWidget->addWidget( m_workspace );
m_centralWidgetContainer->addWidget( workspaceWidget );
ws->addWidget( editorsWidget );
// Load background
QString bgArtwork = configManager::inst()->backgroundArtwork();
@@ -274,9 +176,12 @@ mainWindow::mainWindow( void ) :
m_workspace->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded );
m_workspace->setVerticalScrollBarPolicy( Qt::ScrollBarAsNeeded );
hbox->addWidget( side_bar );
hbox->addWidget( splitter );
// create global-toolbar at the top of our window
m_toolBar = new QWidget( mainWidget );
m_toolBar = new QWidget( main_widget );
m_toolBar->setObjectName( "mainToolbar" );
m_toolBar->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
m_toolBar->setFixedHeight( 64 );
@@ -288,9 +193,8 @@ mainWindow::mainWindow( void ) :
m_toolBarLayout->setSpacing( 0 );
vbox->addWidget( m_toolBar );
vbox->addWidget( ws );
setCentralWidget( mainWidget );
vbox->addWidget( w );
setCentralWidget( main_widget );
/// HACK TO CREATE EXTRA SONG EDITOR FOR NOW ///
//Fun test
@@ -1212,15 +1116,18 @@ void mainWindow::help( void )
void mainWindow::toggleWindow( FLUIQ::CollapsibleWidget * _w )
void mainWindow::toggleWindow( QWidget * _w )
{
if( _w->isCollapsed() )
if( m_workspace->activeSubWindow() != _w->parentWidget()
|| _w->parentWidget()->isHidden() )
{
_w->expand();
_w->parentWidget()->show();
_w->show();
_w->setFocus();
}
else
{
_w->collapse();
_w->parentWidget()->hide();
}
}
@@ -1245,20 +1152,7 @@ void mainWindow::toggleSongEditorWin( void )
void mainWindow::toggleProjectNotesWin( void )
{
//toggleWindow( engine::getProjectNotes() );
// TODO
QWidget * _w = engine::getProjectNotes();
if( m_workspace->activeSubWindow() != _w->parentWidget()
|| _w->parentWidget()->isHidden() )
{
_w->parentWidget()->show();
_w->show();
_w->setFocus();
}
else
{
_w->parentWidget()->hide();
}
toggleWindow( engine::getProjectNotes() );
}
@@ -1290,18 +1184,7 @@ void mainWindow::toggleFxMixerWin( void )
void mainWindow::toggleControllerRack( void )
{
QWidget * _w = engine::getControllerRackView();
if( m_workspace->activeSubWindow() != _w->parentWidget()
|| _w->parentWidget()->isHidden() )
{
_w->parentWidget()->show();
_w->show();
_w->setFocus();
}
else
{
_w->parentWidget()->hide();
}
toggleWindow( engine::getControllerRackView() );
}

View File

@@ -69,7 +69,6 @@
#include "timeline.h"
#include "tool_button.h"
#include "tooltip.h"
#include "fluiq/widget_container.h"
typedef automationPattern::timeMap timeMap;
@@ -79,6 +78,9 @@ extern Keys whiteKeys[]; // defined in piano_widget.cpp
// some constants...
static const int InitialPianoRollWidth = 840;
static const int InitialPianoRollHeight = 480;
static const int ScrollBarSize = 16;
static const int PianoX = 0;
@@ -250,9 +252,8 @@ pianoRoll::pianoRoll( void ) :
m_toolBar = new QWidget( this );
m_toolBar->setFixedHeight( 32 );
m_toolBar->move( 0, 0 );
m_toolBar->setAutoFillBackground( true );
addWidget( m_toolBar );
QPalette pal;
pal.setBrush( m_toolBar->backgroundRole(),
embed::getIconPixmap( "toolbar_bg" ) );
@@ -509,7 +510,19 @@ pianoRoll::pianoRoll( void ) :
setMinimumSize( tb_layout->minimumSize().width(), 160 );
engine::getMainWindow()->centralWidgetContainer()->addWidget( this );
// add us to workspace
if( engine::getMainWindow()->workspace() )
{
engine::getMainWindow()->workspace()->addSubWindow( this );
parentWidget()->resize( InitialPianoRollWidth,
InitialPianoRollHeight );
parentWidget()->hide();
}
else
{
resize( InitialPianoRollWidth, InitialPianoRollHeight );
hide();
}
connect( engine::getSong(), SIGNAL( timeSignatureChanged( int, int ) ),
this, SLOT( update() ) );

View File

@@ -29,7 +29,6 @@
#include <QtGui/QPainter>
#include <QtGui/QCursor>
#include <QtGui/QMouseEvent>
#include <QtGui/QVBoxLayout>
#include "plugin_browser.h"
@@ -42,27 +41,28 @@
pluginBrowser::pluginBrowser( QWidget * _parent ) :
QWidget( _parent )
sideBarWidget( tr( "Instrument plugins" ),
embed::getIconPixmap( "plugins" ), _parent )
{
/* setWindowTitle( tr( "Instrument browser" ) );
setWindowTitle( tr( "Instrument browser" ) );
m_view = new QWidget( contentParent() );
//m_view->setFrameShape( QFrame::NoFrame );
addContentWidget( m_view );*/
addContentWidget( m_view );
QVBoxLayout * viewLayout = new QVBoxLayout( this );
viewLayout->setMargin( 5 );
viewLayout->setSpacing( 5 );
QVBoxLayout * view_layout = new QVBoxLayout( m_view );
view_layout->setMargin( 5 );
view_layout->setSpacing( 5 );
QLabel * hint = new QLabel( tr( "Drag an instrument "
"into either the Song-Editor, the "
"Beat+Bassline Editor or into an "
"existing instrument track." ),
this );
m_view );
hint->setFont( pointSize<8>( hint->font() ) );
hint->setWordWrap( true );
viewLayout->addWidget( hint );
hint->setWordWrap( TRUE );
view_layout->addWidget( hint );
plugin::getDescriptorsOfAvailPlugins( m_pluginDescriptors );
@@ -73,14 +73,13 @@ pluginBrowser::pluginBrowser( QWidget * _parent ) :
if( it->type == plugin::Instrument )
{
pluginDescWidget * p = new pluginDescWidget( *it,
this );
m_view );
p->show();
viewLayout->addWidget( p );
view_layout->addWidget( p );
}
}
viewLayout->addStretch();
viewLayout->setSizeConstraint( QLayout::SetMinimumSize );
view_layout->addStretch();
show();
}
@@ -102,12 +101,12 @@ pluginDescWidget::pluginDescWidget( const plugin::descriptor & _pd,
m_updateTimer( this ),
m_pluginDescriptor( _pd ),
m_logo( _pd.logo->pixmap() ),
m_mouseOver( false ),
m_mouseOver( FALSE ),
m_targetHeight( 24 )
{
connect( &m_updateTimer, SIGNAL( timeout() ), SLOT( updateHeight() ) );
setFixedHeight( m_targetHeight );
setMouseTracking( true );
setMouseTracking( TRUE );
setCursor( Qt::PointingHandCursor );
}
@@ -139,14 +138,14 @@ void pluginDescWidget::paintEvent( QPaintEvent * )
p.drawPixmap( 4, 4, logo );
QFont f = pointSize<8>( p.font() );
f.setBold( true );
f.setBold( TRUE );
p.setFont( f );
p.drawText( 10 + logo_size.width(), 15,
m_pluginDescriptor.displayName );
if( height() > 24 || m_mouseOver )
{
f.setBold( false );
f.setBold( FALSE );
p.setFont( pointSize<7>( f ) );
QRect br;
p.drawText( 10 + logo_size.width(), 20, width() - 58 - 5, 999,
@@ -166,7 +165,7 @@ void pluginDescWidget::paintEvent( QPaintEvent * )
void pluginDescWidget::enterEvent( QEvent * _e )
{
m_mouseOver = true;
m_mouseOver = TRUE;
m_targetHeight = height() + 1;
updateHeight();
QWidget::enterEvent( _e );
@@ -177,7 +176,7 @@ void pluginDescWidget::enterEvent( QEvent * _e )
void pluginDescWidget::leaveEvent( QEvent * _e )
{
m_mouseOver = false;
m_mouseOver = FALSE;
m_targetHeight = 24;
updateHeight();
QWidget::leaveEvent( _e );

View File

@@ -33,7 +33,6 @@ ResourcesTreeView::ResourcesTreeView( ResourcesTreeModel * _tm,
m_tm( _tm )
{
setHeaderHidden( true );
setIconSize( QSize( 24, 24 ) );
setModel( m_tm );
connect( m_tm, SIGNAL( itemsChanged() ),
this, SLOT( updateFilter() ) );

View File

@@ -77,7 +77,7 @@ songEditor::songEditor( song * _song, songEditor * & _engine_ptr ) :
{
_engine_ptr = this;
setWindowTitle( tr( "SONG EDITOR" ) );
setWindowTitle( tr( "Song-Editor" ) );
setWindowIcon( embed::getIconPixmap( "songeditor" ) );
setFocusPolicy( Qt::StrongFocus );
@@ -99,7 +99,7 @@ songEditor::songEditor( song * _song, songEditor * & _engine_ptr ) :
// create own toolbar
m_toolBar = new QWidget;//( this );
m_toolBar = new QWidget( this );
m_toolBar->setFixedHeight( 32 );
m_toolBar->setAutoFillBackground( TRUE );
QPalette pal;
@@ -107,8 +107,8 @@ songEditor::songEditor( song * _song, songEditor * & _engine_ptr ) :
embed::getIconPixmap( "toolbar_bg" ) );
m_toolBar->setPalette( pal );
insertWidget( 1, m_toolBar );
insertWidget( 2, m_timeLine );
static_cast<QVBoxLayout *>( layout() )->insertWidget( 0, m_toolBar );
static_cast<QVBoxLayout *>( layout() )->insertWidget( 1, m_timeLine );
QHBoxLayout * tb_layout = new QHBoxLayout( m_toolBar );
tb_layout->setMargin( 0 );
@@ -251,11 +251,11 @@ songEditor::songEditor( song * _song, songEditor * & _engine_ptr ) :
this, SLOT( scrolled( int ) ) );
/* engine::getMainWindow()->workspace()->addSubWindow( this );
engine::getMainWindow()->workspace()->addSubWindow( this );
parentWidget()->setAttribute( Qt::WA_DeleteOnClose, FALSE );
parentWidget()->resize( 600, 300 );
parentWidget()->move( 5, 5 );
parentWidget()->show();*/
parentWidget()->show();
}

View File

@@ -47,11 +47,9 @@
#include "string_pair_drag.h"
#include "track.h"
#include "fluiq/widget_container.h"
trackContainerView::trackContainerView( trackContainer * _tc ) :
FLUIQ::CollapsibleWidget( Qt::Vertical ),
QWidget(),
modelView( NULL, this ),
journallingObject(),
serializingObjectHook(),
@@ -63,11 +61,12 @@ trackContainerView::trackContainerView( trackContainer * _tc ) :
m_rubberBand( new rubberBand( m_scrollArea ) ),
m_origin()
{
engine::getMainWindow()->centralWidgetContainer()->addWidget( this );
m_tc->setHook( this );
addWidget( m_scrollArea );
QVBoxLayout * layout = new QVBoxLayout( this );
layout->setMargin( 0 );
layout->setSpacing( 0 );
layout->addWidget( m_scrollArea );
QWidget * scrollContent = new QWidget;
m_scrollLayout = new QVBoxLayout( scrollContent );
@@ -477,7 +476,7 @@ void trackContainerView::resizeEvent( QResizeEvent * _re )
trackContainerView::scrollArea::scrollArea( trackContainerView * _parent ) :
QScrollArea( NULL ),
QScrollArea( _parent ),
m_trackContainerView( _parent )
{
setFrameStyle( QFrame::NoFrame );