Subversion Repositories winbugtracker

Compare Revisions

No changes between revisions

Regard whitespace Rev 3 → Rev 4

/trunk/WuLi.dpr
File deleted
/trunk/WuLi.bdsproj
File deleted
/trunk/WuLiMain.pas
File deleted
/trunk/WuLi.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/trunk/WuLiMain.dfm
File deleted
/trunk/Bugtracker.bdsproj
0,0 → 1,175
<?xml version="1.0" encoding="utf-8"?>
<BorlandProject>
<PersonalityInfo>
<Option>
<Option Name="Personality">Delphi.Personality</Option>
<Option Name="ProjectType"></Option>
<Option Name="Version">1.0</Option>
<Option Name="GUID">{D9325F5E-2B75-4C5F-B683-9907A01F0C72}</Option>
</Option>
</PersonalityInfo>
<Delphi.Personality>
<Source>
<Source Name="MainSource">Bugtracker.dpr</Source>
</Source>
<FileVersion>
<FileVersion Name="Version">7.0</FileVersion>
</FileVersion>
<Compiler>
<Compiler Name="A">8</Compiler>
<Compiler Name="B">0</Compiler>
<Compiler Name="C">1</Compiler>
<Compiler Name="D">1</Compiler>
<Compiler Name="E">0</Compiler>
<Compiler Name="F">0</Compiler>
<Compiler Name="G">1</Compiler>
<Compiler Name="H">1</Compiler>
<Compiler Name="I">1</Compiler>
<Compiler Name="J">0</Compiler>
<Compiler Name="K">0</Compiler>
<Compiler Name="L">1</Compiler>
<Compiler Name="M">0</Compiler>
<Compiler Name="N">1</Compiler>
<Compiler Name="O">1</Compiler>
<Compiler Name="P">1</Compiler>
<Compiler Name="Q">0</Compiler>
<Compiler Name="R">0</Compiler>
<Compiler Name="S">0</Compiler>
<Compiler Name="T">0</Compiler>
<Compiler Name="U">0</Compiler>
<Compiler Name="V">1</Compiler>
<Compiler Name="W">0</Compiler>
<Compiler Name="X">1</Compiler>
<Compiler Name="Y">1</Compiler>
<Compiler Name="Z">1</Compiler>
<Compiler Name="ShowHints">True</Compiler>
<Compiler Name="ShowWarnings">True</Compiler>
<Compiler Name="UnitAliases">WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;</Compiler>
<Compiler Name="NamespacePrefix"></Compiler>
<Compiler Name="GenerateDocumentation">False</Compiler>
<Compiler Name="DefaultNamespace"></Compiler>
<Compiler Name="SymbolDeprecated">True</Compiler>
<Compiler Name="SymbolLibrary">True</Compiler>
<Compiler Name="SymbolPlatform">True</Compiler>
<Compiler Name="SymbolExperimental">True</Compiler>
<Compiler Name="UnitLibrary">True</Compiler>
<Compiler Name="UnitPlatform">True</Compiler>
<Compiler Name="UnitDeprecated">True</Compiler>
<Compiler Name="UnitExperimental">True</Compiler>
<Compiler Name="HResultCompat">True</Compiler>
<Compiler Name="HidingMember">True</Compiler>
<Compiler Name="HiddenVirtual">True</Compiler>
<Compiler Name="Garbage">True</Compiler>
<Compiler Name="BoundsError">True</Compiler>
<Compiler Name="ZeroNilCompat">True</Compiler>
<Compiler Name="StringConstTruncated">True</Compiler>
<Compiler Name="ForLoopVarVarPar">True</Compiler>
<Compiler Name="TypedConstVarPar">True</Compiler>
<Compiler Name="AsgToTypedConst">True</Compiler>
<Compiler Name="CaseLabelRange">True</Compiler>
<Compiler Name="ForVariable">True</Compiler>
<Compiler Name="ConstructingAbstract">True</Compiler>
<Compiler Name="ComparisonFalse">True</Compiler>
<Compiler Name="ComparisonTrue">True</Compiler>
<Compiler Name="ComparingSignedUnsigned">True</Compiler>
<Compiler Name="CombiningSignedUnsigned">True</Compiler>
<Compiler Name="UnsupportedConstruct">True</Compiler>
<Compiler Name="FileOpen">True</Compiler>
<Compiler Name="FileOpenUnitSrc">True</Compiler>
<Compiler Name="BadGlobalSymbol">True</Compiler>
<Compiler Name="DuplicateConstructorDestructor">True</Compiler>
<Compiler Name="InvalidDirective">True</Compiler>
<Compiler Name="PackageNoLink">True</Compiler>
<Compiler Name="PackageThreadVar">True</Compiler>
<Compiler Name="ImplicitImport">True</Compiler>
<Compiler Name="HPPEMITIgnored">True</Compiler>
<Compiler Name="NoRetVal">True</Compiler>
<Compiler Name="UseBeforeDef">True</Compiler>
<Compiler Name="ForLoopVarUndef">True</Compiler>
<Compiler Name="UnitNameMismatch">True</Compiler>
<Compiler Name="NoCFGFileFound">True</Compiler>
<Compiler Name="ImplicitVariants">True</Compiler>
<Compiler Name="UnicodeToLocale">True</Compiler>
<Compiler Name="LocaleToUnicode">True</Compiler>
<Compiler Name="ImagebaseMultiple">True</Compiler>
<Compiler Name="SuspiciousTypecast">True</Compiler>
<Compiler Name="PrivatePropAccessor">True</Compiler>
<Compiler Name="UnsafeType">False</Compiler>
<Compiler Name="UnsafeCode">False</Compiler>
<Compiler Name="UnsafeCast">False</Compiler>
<Compiler Name="OptionTruncated">True</Compiler>
<Compiler Name="WideCharReduced">True</Compiler>
<Compiler Name="DuplicatesIgnored">True</Compiler>
<Compiler Name="UnitInitSeq">True</Compiler>
<Compiler Name="LocalPInvoke">True</Compiler>
<Compiler Name="MessageDirective">True</Compiler>
<Compiler Name="CodePage"></Compiler>
</Compiler>
<Linker>
<Linker Name="MapFile">0</Linker>
<Linker Name="OutputObjs">0</Linker>
<Linker Name="GenerateHpps">False</Linker>
<Linker Name="ConsoleApp">1</Linker>
<Linker Name="DebugInfo">False</Linker>
<Linker Name="RemoteSymbols">False</Linker>
<Linker Name="GenerateDRC">False</Linker>
<Linker Name="MinStackSize">16384</Linker>
<Linker Name="MaxStackSize">1048576</Linker>
<Linker Name="ImageBase">4194304</Linker>
<Linker Name="ExeDescription"></Linker>
</Linker>
<Directories>
<Directories Name="OutputDir"></Directories>
<Directories Name="UnitOutputDir"></Directories>
<Directories Name="PackageDLLOutputDir"></Directories>
<Directories Name="PackageDCPOutputDir"></Directories>
<Directories Name="SearchPath"></Directories>
<Directories Name="Packages"></Directories>
<Directories Name="Conditionals"></Directories>
<Directories Name="DebugSourceDirs"></Directories>
<Directories Name="UsePackages">False</Directories>
</Directories>
<Parameters>
<Parameters Name="RunParams"></Parameters>
<Parameters Name="HostApplication"></Parameters>
<Parameters Name="Launcher"></Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="DebugCWD"></Parameters>
<Parameters Name="Debug Symbols Search Path"></Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Language>
<Language Name="ActiveLang"></Language>
<Language Name="ProjectLang">$00000000</Language>
<Language Name="RootDir"></Language>
</Language>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">1031</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName">ViaThinkSoft</VersionInfoKeys>
<VersionInfoKeys Name="FileDescription">Bugtracker für Windows</VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName">WuLi</VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright">(C) 2016 ViaThinkSoft</VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename">Bugtracker.exe</VersionInfoKeys>
<VersionInfoKeys Name="ProductName">ViaThinkSoft Bugtracker für Windows</VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments">www.daniel-marschall.de</VersionInfoKeys>
</VersionInfoKeys>
</Delphi.Personality>
</BorlandProject>
/trunk/Bugtracker.cfg
0,0 → 1,38
-$A8
-$B-
-$C+
-$D+
-$E-
-$F-
-$G+
-$H+
-$I+
-$J-
-$K-
-$L+
-$M-
-$N+
-$O+
-$P+
-$Q-
-$R-
-$S-
-$T-
-$U-
-$V+
-$W-
-$X+
-$YD
-$Z1
-cg
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-H+
-W+
-M
-$M16384,1048576
-K$00400000
-LE"C:\Users\user\Documents\Borland Studio-Projekte\Bpl"
-LN"C:\Users\user\Documents\Borland Studio-Projekte\Bpl"
-w-UNSAFE_TYPE
-w-UNSAFE_CODE
-w-UNSAFE_CAST
/trunk/Bugtracker.dpr
0,0 → 1,25
program Bugtracker;
 
uses
Forms,
BugtrackerMain in 'BugtrackerMain.pas' {frmBugtracker},
Mitarbeiter in 'Mitarbeiter.pas' {frmMitarbeiter},
Versionen in 'Versionen.pas' {frmVersionen},
Module in 'Module.pas' {frmModule},
Projekte in 'Projekte.pas' {frmProjekte},
Login in 'Login.pas' {frmLogin},
About in 'About.pas' {AboutBox};
 
{$R *.res}
 
begin
Application.Initialize;
Application.CreateForm(TfrmBugtracker, frmBugtracker);
Application.CreateForm(TfrmMitarbeiter, frmMitarbeiter);
Application.CreateForm(TfrmVersionen, frmVersionen);
Application.CreateForm(TfrmModule, frmModule);
Application.CreateForm(TfrmProjekte, frmProjekte);
Application.CreateForm(TfrmLogin, frmLogin);
Application.CreateForm(TAboutBox, AboutBox);
Application.Run;
end.
/trunk/Bugtracker.res
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/BugtrackerMain.dfm
0,0 → 1,431
object frmBugtracker: TfrmBugtracker
Left = 0
Top = 0
Caption = 'ViaThinkSoft Bugtracker f'#252'r Windows'
ClientHeight = 498
ClientWidth = 751
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Menu = MainMenu1
OldCreateOrder = False
Position = poScreenCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Splitter1: TSplitter
Left = 249
Top = 0
Height = 498
ExplicitLeft = 0
ExplicitTop = 136
ExplicitHeight = 100
end
object Panel1: TPanel
Left = 0
Top = 0
Width = 249
Height = 498
Align = alLeft
TabOrder = 0
DesignSize = (
249
498)
object DBGrid1: TDBGrid
Left = 8
Top = 35
Width = 233
Height = 406
Anchors = [akLeft, akTop, akRight, akBottom]
DataSource = dsBugs
ReadOnly = True
TabOrder = 0
TitleFont.Charset = DEFAULT_CHARSET
TitleFont.Color = clWindowText
TitleFont.Height = -11
TitleFont.Name = 'Tahoma'
TitleFont.Style = []
Columns = <
item
Expanded = False
FieldName = 'id'
Width = 46
Visible = True
end
item
Expanded = False
FieldName = 'titel'
Width = 111
Visible = True
end
item
Expanded = False
FieldName = 'wichtigkeit'
Width = 36
Visible = True
end>
end
object ComboBox1: TComboBox
Left = 8
Top = 8
Width = 233
Height = 21
Style = csDropDownList
Anchors = [akLeft, akTop, akRight]
ItemHeight = 13
ItemIndex = 0
TabOrder = 1
Text = 'Meine offenen Bugs (nach Wichtigkeit)'
OnChange = ComboBox1Change
Items.Strings = (
'Meine offenen Bugs (nach Wichtigkeit)'
'Alle offenen Bugs (nach Wichtigkeit)'
'Gel'#246'st ohne Ver'#246'ffentlichung (nach L'#246'sungsdatum)'
'Gel'#246'st und Ver'#246'ffentlicht (nach Version und L'#246'sungsdatum)'
'Alle Bugs (nach Er'#246'ffnungsdatum)')
end
object DBNavigator2: TDBNavigator
Left = 11
Top = 456
Width = 232
Height = 25
DataSource = dsBugs
VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast]
Anchors = [akLeft, akRight, akBottom]
TabOrder = 2
end
end
object Panel2: TPanel
Left = 252
Top = 0
Width = 499
Height = 498
Align = alClient
TabOrder = 1
DesignSize = (
499
498)
object Label1: TLabel
Left = 15
Top = 53
Width = 50
Height = 13
Caption = 'Bearbeiter'
end
object Label2: TLabel
Left = 15
Top = 149
Width = 20
Height = 13
Caption = 'Titel'
end
object Label3: TLabel
Left = 240
Top = 53
Width = 33
Height = 13
Caption = 'Erstellt'
end
object Label4: TLabel
Left = 240
Top = 101
Width = 29
Height = 13
Caption = 'Gefixt'
end
object Label5: TLabel
Left = 15
Top = 101
Width = 28
Height = 13
Caption = 'Modul'
end
object Label6: TLabel
Left = 240
Top = 149
Width = 119
Height = 13
Caption = 'Ver'#246'ffentlicht als Version'
end
object DBNavigator1: TDBNavigator
Left = 15
Top = 16
Width = 224
Height = 25
DataSource = dsBugs
VisibleButtons = [nbInsert, nbDelete, nbPost, nbCancel]
TabOrder = 0
end
object DBRichEdit1: TDBRichEdit
Left = 15
Top = 248
Width = 471
Height = 233
Anchors = [akLeft, akTop, akRight, akBottom]
DataField = 'beschreibung'
DataSource = dsBugs
TabOrder = 9
end
object DBEdit1: TDBEdit
Left = 15
Top = 168
Width = 186
Height = 21
DataField = 'titel'
DataSource = dsBugs
TabOrder = 5
end
object DBLookupComboBox1: TDBLookupComboBox
Left = 15
Top = 72
Width = 186
Height = 21
DataField = 'bearbeiter'
DataSource = dsBugs
KeyField = 'id'
ListField = 'name'
ListSource = dsMitarbeiter
NullValueKey = 46
TabOrder = 1
end
object DBEdit2: TDBEdit
Left = 240
Top = 72
Width = 155
Height = 21
TabStop = False
Color = clBtnFace
DataField = 'erstellt'
DataSource = dsBugs
ReadOnly = True
TabOrder = 2
end
object DBEdit3: TDBEdit
Left = 240
Top = 120
Width = 155
Height = 21
TabStop = False
Color = clBtnFace
DataField = 'fixdatum'
DataSource = dsBugs
ReadOnly = True
TabOrder = 4
end
object DBLookupComboBox2: TDBLookupComboBox
Left = 15
Top = 120
Width = 186
Height = 21
DataField = 'modul'
DataSource = dsBugs
KeyField = 'id'
ListField = 'modul'
ListSource = dsModule
NullValueKey = 46
TabOrder = 3
end
object DBLookupComboBox3: TDBLookupComboBox
Left = 240
Top = 168
Width = 155
Height = 21
DataField = 'version_release'
DataSource = dsBugs
KeyField = 'id'
ListField = 'version'
ListSource = dsVersionen
TabOrder = 6
end
object TrackBar1: TTrackBar
Left = 245
Top = 8
Width = 164
Height = 45
Position = 5
TabOrder = 10
OnChange = TrackBar1Change
end
object btnFixedToggle: TButton
Left = 401
Top = 118
Width = 72
Height = 25
Caption = 'Umschalten'
TabOrder = 8
OnClick = btnFixedToggleClick
end
object btnBearbeitungsnotiz: TButton
Left = 16
Top = 208
Width = 185
Height = 25
Caption = 'Bearbeitungsnotiz hinzuf'#252'gen'
TabOrder = 7
end
end
object ADOConnection1: TADOConnection
Connected = True
ConnectionString =
'Provider=MSDASQL.1;Persist Security Info=False;Data Source=MySQL' +
' RAS;Initial Catalog=bugtracker'
LoginPrompt = False
Left = 104
Top = 344
end
object dsBugs: TDataSource
DataSet = qryBugs
Left = 168
Top = 312
end
object tblMitarbeiter: TADOTable
Active = True
Connection = ADOConnection1
CursorType = ctStatic
TableName = 'mitarbeiter'
Left = 208
Top = 344
end
object dsMitarbeiter: TDataSource
DataSet = tblMitarbeiter
Left = 208
Top = 312
end
object MainMenu1: TMainMenu
Left = 88
Top = 216
object Stammdaten1: TMenuItem
Caption = 'Stammdaten'
object Mitarbeiter1: TMenuItem
Caption = 'Mitarbeiter'
OnClick = Mitarbeiter1Click
end
object Projekte1: TMenuItem
Caption = 'Projekte'
OnClick = Projekte1Click
end
object Module1: TMenuItem
Caption = 'Module'
OnClick = Module1Click
end
object Versionen1: TMenuItem
Caption = 'Versionen'
OnClick = Versionen1Click
end
end
object Projektwechseln1: TMenuItem
Caption = 'Projekt wechseln'
OnClick = Projektwechseln1Click
end
object Hilfe1: TMenuItem
Caption = 'Hilfe'
object ber1: TMenuItem
Caption = #220'ber'
OnClick = ber1Click
end
end
end
object XPManifest1: TXPManifest
Left = 48
Top = 216
end
object qryBugs: TADOQuery
Active = True
Connection = ADOConnection1
CursorType = ctStatic
AfterInsert = qryBugsAfterInsert
AfterScroll = qryBugsAfterScroll
Parameters = <>
SQL.Strings = (
'SELECT * FROM bugs order by wichtigkeit')
Left = 168
Top = 344
object qryBugsid: TAutoIncField
FieldName = 'id'
ReadOnly = True
end
object qryBugstitel: TStringField
FieldName = 'titel'
Size = 255
end
object qryBugsbeschreibung: TMemoField
FieldName = 'beschreibung'
BlobType = ftMemo
end
object qryBugserstellt: TDateTimeField
FieldName = 'erstellt'
end
object qryBugswichtigkeit: TIntegerField
FieldName = 'wichtigkeit'
end
object qryBugsbearbeiter: TIntegerField
FieldName = 'bearbeiter'
end
object qryBugsfixdatum: TDateTimeField
FieldName = 'fixdatum'
end
object qryBugsversion_release: TIntegerField
FieldName = 'version_release'
OnValidate = qryBugsversion_releaseValidate
end
object qryBugsmodul: TIntegerField
FieldName = 'modul'
end
object qryBugsprojekt: TIntegerField
FieldName = 'projekt'
end
end
object dsVersionen: TDataSource
DataSet = qryVersionen
Left = 240
Top = 312
end
object tblProjekte: TADOTable
Active = True
Connection = ADOConnection1
CursorType = ctStatic
TableName = 'projekte'
Left = 272
Top = 344
end
object dsProjekte: TDataSource
DataSet = tblProjekte
Left = 272
Top = 312
end
object dsModule: TDataSource
DataSet = qryModule
Left = 304
Top = 312
end
object Timer1: TTimer
OnTimer = Timer1Timer
Left = 128
Top = 216
end
object qryVersionen: TADOQuery
Active = True
Connection = ADOConnection1
CursorType = ctStatic
AfterInsert = qryVersionenAfterInsert
Parameters = <>
SQL.Strings = (
'SELECT * FROM versionen')
Left = 240
Top = 344
end
object qryModule: TADOQuery
Active = True
Connection = ADOConnection1
CursorType = ctStatic
AfterInsert = qryModuleAfterInsert
Parameters = <>
SQL.Strings = (
'SELECT * FROM module')
Left = 304
Top = 344
end
end
/trunk/BugtrackerMain.pas
0,0 → 1,266
unit BugtrackerMain;
 
(*
* TODO:
* - fertigstellen
* ... bearbeitungsnotiz-button (rtf-farben usw)
* ...
* - abfragen ob speichern wenn fenster geschlossen wird
* - filtern nach modul
* - verbinden mit ticketsystem von HS
* - rtf controls?
*)
 
interface
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBXpress, WideStrings, DB, SqlExpr, StdCtrls, ExtCtrls, DBCtrls,
ADODB, ComCtrls, Grids, DBGrids, Mask, Menus, XPMan;
 
type
TfrmBugtracker = class(TForm)
Panel1: TPanel;
DBGrid1: TDBGrid;
ComboBox1: TComboBox;
DBNavigator2: TDBNavigator;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DBNavigator1: TDBNavigator;
DBRichEdit1: TDBRichEdit;
DBEdit1: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
TrackBar1: TTrackBar;
ADOConnection1: TADOConnection;
dsBugs: TDataSource;
tblMitarbeiter: TADOTable;
dsMitarbeiter: TDataSource;
MainMenu1: TMainMenu;
Stammdaten1: TMenuItem;
Mitarbeiter1: TMenuItem;
Projekte1: TMenuItem;
Module1: TMenuItem;
Versionen1: TMenuItem;
Projektwechseln1: TMenuItem;
XPManifest1: TXPManifest;
qryBugs: TADOQuery;
dsVersionen: TDataSource;
tblProjekte: TADOTable;
dsProjekte: TDataSource;
dsModule: TDataSource;
Timer1: TTimer;
Splitter1: TSplitter;
Hilfe1: TMenuItem;
ber1: TMenuItem;
btnFixedToggle: TButton;
btnBearbeitungsnotiz: TButton;
qryBugsid: TAutoIncField;
qryBugstitel: TStringField;
qryBugsbeschreibung: TMemoField;
qryBugserstellt: TDateTimeField;
qryBugswichtigkeit: TIntegerField;
qryBugsbearbeiter: TIntegerField;
qryBugsfixdatum: TDateTimeField;
qryBugsversion_release: TIntegerField;
qryBugsmodul: TIntegerField;
qryBugsprojekt: TIntegerField;
qryVersionen: TADOQuery;
qryModule: TADOQuery;
procedure Mitarbeiter1Click(Sender: TObject);
procedure qryBugsAfterScroll(DataSet: TDataSet);
procedure Module1Click(Sender: TObject);
procedure Projekte1Click(Sender: TObject);
procedure Versionen1Click(Sender: TObject);
procedure TrackBar1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Projektwechseln1Click(Sender: TObject);
procedure qryBugsAfterInsert(DataSet: TDataSet);
procedure ber1Click(Sender: TObject);
procedure btnFixedToggleClick(Sender: TObject);
procedure qryBugsversion_releaseValidate(Sender: TField);
procedure FormCreate(Sender: TObject);
procedure qryVersionenAfterInsert(DataSet: TDataSet);
procedure qryModuleAfterInsert(DataSet: TDataSet);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
eingeloggtMitarbeiter: integer;
aktuellesProjekt: integer;
procedure NeuFiltern;
end;
 
var
frmBugtracker: TfrmBugtracker;
 
implementation
 
uses Mitarbeiter, Module, Versionen, Projekte, Login, About, inifiles;
 
{$R *.dfm}
 
procedure TfrmBugtracker.qryBugsAfterInsert(DataSet: TDataSet);
begin
// Standardwerte für einen neuen Bug
qryBugs.FieldByName('wichtigkeit').AsInteger := 5;
// qryBugs.FieldByName('bearbeiter').AsInteger := eingeloggtMitarbeiter;
qryBugs.FieldByName('projekt').AsInteger := aktuellesProjekt;
end;
 
procedure TfrmBugtracker.qryBugsAfterScroll(DataSet: TDataSet);
var
bakEvent: TNotifyEvent;
begin
bakEvent := TrackBar1.OnChange;
TrackBar1.OnChange := nil;
try
TrackBar1.Position := qryBugs.FieldByName('wichtigkeit').AsInteger;
finally
TrackBar1.OnChange := bakEvent;
end;
end;
 
procedure TfrmBugtracker.qryBugsversion_releaseValidate(Sender: TField);
begin
if qryBugs.FieldByName('fixdatum').IsNull then
begin
raise Exception.Create('Vor einer Veröffentlichung muss der Bugfix erst als gefixt markiert werden.');
end;
end;
 
procedure TfrmBugtracker.qryModuleAfterInsert(DataSet: TDataSet);
begin
// Standardwerte für ein neues Modul
qryModule.FieldByName('projekt').AsInteger := aktuellesProjekt;
end;
 
procedure TfrmBugtracker.qryVersionenAfterInsert(DataSet: TDataSet);
begin
// Standardwerte für eine neue Version
qryVersionen.FieldByName('projekt').AsInteger := aktuellesProjekt;
end;
 
procedure TfrmBugtracker.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled := false;
if frmLogin.ShowModal = mrCancel then Close;
end;
 
procedure TfrmBugtracker.TrackBar1Change(Sender: TObject);
begin
if not (qryBugs.State in [dsEdit, dsInsert]) then qryBugs.Edit;
qryBugs.FieldByName('wichtigkeit').AsInteger := TrackBar1.Position;
end;
 
procedure TfrmBugtracker.Versionen1Click(Sender: TObject);
begin
frmVersionen.ShowModal;
end;
 
procedure TfrmBugtracker.ber1Click(Sender: TObject);
begin
AboutBox.ShowModal;
end;
 
procedure TfrmBugtracker.btnFixedToggleClick(Sender: TObject);
begin
if not (qryBugs.State in [dsEdit, dsInsert]) then qryBugs.Edit;
if qryBugs.FieldByName('fixdatum').IsNull then
qryBugs.FieldByName('fixdatum').AsDateTime := Now
else
qryBugs.FieldByName('fixdatum').Clear;
end;
 
procedure TfrmBugtracker.ComboBox1Change(Sender: TObject);
begin
case ComboBox1.ItemIndex of
0:
begin
// Meine offenen Bugs (nach Wichtigkeit)
qryBugs.SQL.Text := 'SELECT * FROM bugs WHERE projekt = '+IntToStr(aktuellesProjekt)+' AND fixdatum IS NULL AND bearbeiter = '+IntToStr(eingeloggtMitarbeiter)+' ORDER BY wichtigkeit DESC';
end;
1:
begin
// Alle offenen Bugs (nach Wichtigkeit)
qryBugs.SQL.Text := 'SELECT * FROM bugs WHERE projekt = '+IntToStr(aktuellesProjekt)+' AND fixdatum IS NULL ORDER BY wichtigkeit DESC';
end;
2:
begin
// Gelöst ohne Veröffentlichung (nach Lösungsdatum)
qryBugs.SQL.Text := 'SELECT * FROM bugs WHERE projekt = '+IntToStr(aktuellesProjekt)+' AND fixdatum IS NOT NULL ORDER BY fixdatum DESC';
end;
3:
begin
// Gelöst und Veröffentlicht (nach Version und Lösungsdatum)
qryBugs.SQL.Text := 'SELECT * FROM bugs WHERE projekt = '+IntToStr(aktuellesProjekt)+' AND fixdatum IS NOT NULL ORDER BY version_release DESC, fixdatum DESC';
end;
4:
begin
// Alle Bugs (nach Eröffnungsdatum)
qryBugs.SQL.Text := 'SELECT * FROM bugs WHERE projekt = '+IntToStr(aktuellesProjekt)+' ORDER BY erstellt DESC';
end;
end;
qryBugs.Active := true;
end;
 
procedure TfrmBugtracker.FormCreate(Sender: TObject);
var
ini: TMemIniFile;
begin
ini := TMemIniFile.Create('bugtracker.ini');
try
ADOConnection1.ConnectionString := ini.ReadString('Database', 'ConnectionString', '');
finally
ini.Free;
end;
 
ADOConnection1.Connected := true;
qryBugs.Active := true;
tblMitarbeiter.Active := true;
qryVersionen.Active := true;
tblProjekte.Active := true;
qryModule.Active := true;
end;
 
procedure TfrmBugtracker.Mitarbeiter1Click(Sender: TObject);
begin
frmMitarbeiter.ShowModal;
end;
 
procedure TfrmBugtracker.Module1Click(Sender: TObject);
begin
frmModule.ShowModal;
end;
 
procedure TfrmBugtracker.NeuFiltern;
begin
ComboBox1Change(ComboBox1);
 
qryModule.SQL.Text := 'SELECT * FROM module WHERE projekt = ' + IntToStr(aktuellesProjekt);
qryModule.Active := true;
 
qryVersionen.SQL.Text := 'SELECT * FROM versionen WHERE projekt = ' + IntToStr(aktuellesProjekt);
qryVersionen.Active := true;
end;
 
procedure TfrmBugtracker.Projekte1Click(Sender: TObject);
begin
frmProjekte.ShowModal;
end;
 
procedure TfrmBugtracker.Projektwechseln1Click(Sender: TObject);
begin
frmLogin.ShowModal;
end;
 
end.
/trunk/Login.pas
31,7 → 31,7
implementation
 
uses
WuLiMain, Mitarbeiter, Projekte;
BugtrackerMain, Mitarbeiter, Projekte;
 
{$R *.dfm}
 
/trunk/Mitarbeiter.pas
23,6 → 23,6
{$R *.dfm}
 
uses
WuLiMain;
BugtrackerMain;
 
end.
/trunk/Module.pas
23,6 → 23,6
{$R *.dfm}
 
uses
WuLiMain;
BugtrackerMain;
 
end.
/trunk/Projekte.pas
23,6 → 23,6
{$R *.dfm}
 
uses
WuLiMain;
BugtrackerMain;
 
end.
/trunk/Versionen.pas
23,6 → 23,6
{$R *.dfm}
 
uses
WuLiMain;
BugtrackerMain;
 
end.