One small problem with this reorganisation -- the sheer quantity of includes you end up with. (That does tend to be a problem in Java with its one-class-per-file layout as well.)
Here's the include list from RosegardenGUIApp.cpp as it currently stands in my provisional reformatting: #include "RosegardenGUIApp.h" #include <klocale.h> #include "debug/Debug.h" #include "document/ConfigGroups.h" #include "base/AnalysisTypes.h" #include "base/AudioFile.h" #include "base/AudioFileManager.h" #include "base/AudioPluginInstance.h" #include "base/Composition.h" #include "base/CompositionTimeSliceAdapter.h" #include "base/Configuration.h" #include "base/Device.h" #include "base/Exception.h" #include "base/Instrument.h" #include "base/MappedComposition.h" #include "base/MappedEvent.h" #include "base/MappedStudio.h" #include "base/MidiDevice.h" #include "base/MidiFile.h" #include "base/NotationTypes.h" #include "base/PluginIdentifier.h" #include "base/Profiler.h" #include "base/RealTime.h" #include "base/Segment.h" #include "base/SegmentNotationHelper.h" #include "base/Selection.h" #include "base/Studio.h" #include "base/Track.h" #include "commands/edit/CopyCommand.h" #include "commands/edit/CutCommand.h" #include "commands/edit/EventQuantizeCommand.h" #include "commands/edit/PasteSegmentsCommand.h" #include "commands/segment/AddTempoChangeCommand.h" #include "commands/segment/AddTimeSignatureAndNormalizeCommand.h" #include "commands/segment/AddTimeSignatureCommand.h" #include "commands/segment/AudioSegmentAutoSplitCommand.h" #include "commands/segment/AudioSegmentSplitCommand.h" #include "commands/segment/ChangeCompositionLengthCommand.h" #include "commands/segment/CreateTempoMapFromSegmentCommand.h" #include "commands/segment/CutRangeCommand.h" #include "commands/segment/DeleteRangeCommand.h" #include "commands/segment/ModifyDefaultTempoCommand.h" #include "commands/segment/MoveTracksCommand.h" #include "commands/segment/PasteRangeCommand.h" #include "commands/segment/RemoveTempoChangeCommand.h" #include "commands/segment/SegmentAutoSplitCommand.h" #include "commands/segment/SegmentJoinCommand.h" #include "commands/segment/SegmentLabelCommand.h" #include "commands/segment/SegmentReconfigureCommand.h" #include "commands/segment/SegmentRescaleCommand.h" #include "commands/segment/SegmentSplitByPitchCommand.h" #include "commands/segment/SegmentSplitByRecordingSrcCommand.h" #include "commands/segment/SegmentSplitCommand.h" #include "commands/studio/CreateOrDeleteDeviceCommand.h" #include "commands/studio/ModifyDeviceCommand.h" #include "document/io/CsoundExporter.h" #include "document/io/HydrogenLoader.h" #include "document/io/LilypondExporter.h" #include "document/io/MupExporter.h" #include "document/io/MusicXmlExporter.h" #include "document/RosegardenGUIDoc.h" #include "gui/dialogs/AudioManagerDialog.h" #include "gui/dialogs/AudioPluginDialog.h" #include "gui/dialogs/AudioSplitDialog.h" #include "gui/dialogs/BeatsBarsDialog.h" #include "gui/dialogs/CompositionLengthDialog.h" #include "gui/dialogs/ConfigureDialog.h" #include "gui/dialogs/DocumentConfigureDialog.h" #include "gui/dialogs/FileMergeDialog.h" #include "gui/dialogs/IdentifyTextCodecDialog.h" #include "gui/dialogs/LilypondOptionsDialog.h" #include "gui/dialogs/ManageMetronomeDialog.h" #include "gui/dialogs/QuantizeDialog.h" #include "gui/dialogs/RescaleDialog.h" #include "gui/dialogs/SplitByPitchDialog.h" #include "gui/dialogs/SplitByRecordingSrcDialog.h" #include "gui/dialogs/TempoDialog.h" #include "gui/dialogs/TimeDialog.h" #include "gui/dialogs/TimeSignatureDialog.h" #include "gui/dialogs/TransportDialog.h" #include "gui/editors/guitar/Chord.h" #include "gui/editors/parameters/InstrumentParameterBox.h" #include "gui/editors/parameters/RosegardenParameterArea.h" #include "gui/editors/parameters/SegmentParameterBox.h" #include "gui/editors/parameters/TrackParameterBox.h" #include "gui/editors/segment/ControlEditorDialog.h" #include "gui/editors/segment/MarkerEditorDialog.h" #include "gui/editors/segment/PlayListDialog.h" #include "gui/editors/segment/SegmentEraser.h" #include "gui/editors/segment/SegmentJoiner.h" #include "gui/editors/segment/SegmentMover.h" #include "gui/editors/segment/SegmentPencil.h" #include "gui/editors/segment/SegmentResizer.h" #include "gui/editors/segment/SegmentSelector.h" #include "gui/editors/segment/SegmentSplitter.h" #include "gui/editors/segment/TrackLabel.h" #include "gui/editors/segment/TriggerSegmentManager.h" #include "gui/editors/tempo/TempoView.h" #include "gui/seqmapper/MidiFilterDialog.h" #include "gui/seqmapper/SequenceManager.h" #include "gui/seqmapper/SequencerMapper.h" #include "gui/studio/AudioMixerWindow.h" #include "gui/studio/AudioPlugin.h" #include "gui/studio/AudioPluginManager.h" #include "gui/studio/BankEditorDialog.h" #include "gui/studio/DeviceManagerDialog.h" #include "gui/studio/MidiMixerWindow.h" #include "gui/studio/RemapInstrumentDialog.h" #include "gui/studio/StudioControl.h" #include "gui/studio/SynthPluginManagerDialog.h" #include "gui/widgets/CurrentProgressDialog.h" #include "gui/widgets/ProgressBar.h" #include "gui/widgets/ProgressDialog.h" #include "RosegardenGUIView.h" #include "RosegardenIface.h" #include "SetWaitCursor.h" #include "sound/Audio.h" #include "sound/Sound.h" #include "StartupTester.h" #include <dcopobject.h> #include <dcopref.h> #include <kaction.h> #include <kconfig.h> #include <kdcopactionproxy.h> #include <kdockwidget.h> #include <kedittoolbar.h> #include <kfiledialog.h> #include <kglobal.h> #include <kinputdialog.h> #include <kkeydialog.h> #include <kmainwindow.h> #include <kmessagebox.h> #include <kmimetype.h> #include <kprocess.h> #include <kstdaccel.h> #include <kstdaction.h> #include <ktempfile.h> #include <ktoolbar.h> #include <kurl.h> #include <kxmlguiclient.h> #include <qaccel.h> #include <qcstring.h> #include <qcursor.h> #include <qdatastream.h> #include <qdialog.h> #include <qdir.h> #include <qfile.h> #include <qfileinfo.h> #include <qiconset.h> #include <qinputdialog.h> #include <qlabel.h> #include <qobject.h> #include <qobjectlist.h> #include <qpixmap.h> #include <qregexp.h> #include <qslider.h> #include <qstring.h> #include <qstringlist.h> #include <qtextcodec.h> #include <qtimer.h> #include <qvaluevector.h> #include <qwidget.h> Many of those Qt/KDE includes are unnecessary as they'll have been brought in by other files this one includes, and some of them are unnecessary for other reasons, but you get the idea. Of course, this also tells us that the RosegardenGUIApp class is far too big. Which we knew already. Chris ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
