Subversion Repositories winbugtracker

Compare Revisions

Regard whitespace Rev 4 → Rev 5

/trunk/WuLi.cfg
File deleted
/trunk/About.dfm
95,6 → 95,7
Top = 180
Width = 75
Height = 25
Cancel = True
Caption = 'OK'
Default = True
ModalResult = 1
/trunk/BugtrackerMain.dfm
150,6 → 150,28
Height = 13
Caption = 'Ver'#246'ffentlicht als Version'
end
object LblAngemeldet: TLabel
Left = 3
Top = 0
Width = 83
Height = 13
Caption = 'Nicht angemeldet'
end
object Label7: TLabel
Left = 250
Top = 0
Width = 46
Height = 13
Caption = 'Unwichtig'
end
object Label8: TLabel
Left = 366
Top = 0
Width = 34
Height = 13
Alignment = taRightJustify
Caption = 'Kritisch'
end
object DBNavigator1: TDBNavigator
Left = 15
Top = 16
242,7 → 264,7
end
object TrackBar1: TTrackBar
Left = 245
Top = 8
Top = 12
Width = 164
Height = 45
Position = 5
263,8 → 285,9
Top = 208
Width = 185
Height = 25
Caption = 'Bearbeitungsnotiz hinzuf'#252'gen'
Caption = 'Notiz hinzuf'#252'gen'
TabOrder = 7
OnClick = btnBearbeitungsnotizClick
end
end
object ADOConnection1: TADOConnection
/trunk/BugtrackerMain.pas
2,13 → 2,19
 
(*
* TODO:
* - fertigstellen
* ... bearbeitungsnotiz-button (rtf-farben usw)
* ...
* - abfragen ob speichern wenn fenster geschlossen wird
* - filtern nach modul
* - Spezielle Filter
* ... Auflisten nach Modul
* ... Anzeigen der Agenda
* - verbinden mit ticketsystem von HS
* - rtf controls?
* - Neue Felder:
* ... Erfasser
* ... Agenda
* ... Status = Offen, gefixt, Abgelehnt, Veröffentlicht
* ... RTF Feld als BIGTEXT definieren
* - Neue Aufteilung der States
* ... Open, Fixed, Published, Wontfix/Rejected, Planned(Agenda)
*)
 
interface
75,6 → 81,9
qryBugsprojekt: TIntegerField;
qryVersionen: TADOQuery;
qryModule: TADOQuery;
LblAngemeldet: TLabel;
Label7: TLabel;
Label8: TLabel;
procedure Mitarbeiter1Click(Sender: TObject);
procedure qryBugsAfterScroll(DataSet: TDataSet);
procedure Module1Click(Sender: TObject);
91,13 → 100,14
procedure FormCreate(Sender: TObject);
procedure qryVersionenAfterInsert(DataSet: TDataSet);
procedure qryModuleAfterInsert(DataSet: TDataSet);
private
{ Private-Deklarationen }
procedure btnBearbeitungsnotizClick(Sender: TObject);
public
{ Public-Deklarationen }
eingeloggtMitarbeiter: integer;
eingeloggtMitarbeiterName: string;
aktuellesProjekt: integer;
aktuellesProjektName: string;
procedure NeuFiltern;
procedure NotizHinzufuegen(color: TColor; bez: string);
end;
 
var
172,14 → 182,25
AboutBox.ShowModal;
end;
 
procedure TfrmBugtracker.btnBearbeitungsnotizClick(Sender: TObject);
begin
NotizHinzufuegen(clRed, 'Notiz');
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
begin
qryBugs.FieldByName('fixdatum').AsDateTime := Now;
NotizHinzufuegen(clGreen, 'Gefixt');
end
else
begin
qryBugs.FieldByName('fixdatum').Clear;
NotizHinzufuegen(clBlue, 'Neu eröffnet');
end;
end;
 
procedure TfrmBugtracker.ComboBox1Change(Sender: TObject);
begin
253,6 → 274,47
qryVersionen.Active := true;
end;
 
procedure TfrmBugtracker.NotizHinzufuegen(color: TColor; bez: string);
var
leerzeilen: integer;
umbruch: string;
prefix: string;
begin
if not (qryBugs.State in [dsEdit, dsInsert]) then qryBugs.Edit;
 
// Endet der Text mit zwei Zeilenabständen? Wenn nein, dann einfügen.
leerzeilen := 0;
if Copy(DBRichEdit1.Text, 1+Length(DBRichEdit1.Text)-2, 2) = #13#10 then Inc(leerzeilen); // letzte Zeile
if Copy(DBRichEdit1.Text, 1+Length(DBRichEdit1.Text)-4, 2) = #13#10 then Inc(leerzeilen); // Vorletzte Zeile
case leerzeilen of
0: umbruch := #13#10#13#10;
1: umbruch := #13#10;
2: umbruch := '';
end;
 
DBRichEdit1.SelStart := DBRichEdit1.GetTextLen;
DBRichEdit1.SelText := umbruch;
 
DBRichEdit1.SelAttributes.Size := 13;
DBRichEdit1.SelAttributes.Color := color;
DBRichEdit1.SelAttributes.Style := [fsUnderline];
if Trim(bez) <> '' then
prefix := Trim(bez) + ' - '
else
prefix := '';
DBRichEdit1.SelText := prefix + eingeloggtMitarbeiterName + ' ' + FormatDateTime('dd.mm.yyyy hh:nn', Now); // DateTimeToStr(Now);
 
DBRichEdit1.SelAttributes.Size := 10;
DBRichEdit1.SelAttributes.Color := clWindowText;
DBRichEdit1.SelAttributes.Style := [];
DBRichEdit1.SelText := #13#10 {+ '<Hier Text eingeben>'};
 
// Ans Ende scrollen
DBRichEdit1.SetFocus;
DBRichEdit1.SelStart := DBRichEdit1.GetTextLen;
DBRichEdit1.Perform(EM_SCROLLCARET, 0, 0);
end;
 
procedure TfrmBugtracker.Projekte1Click(Sender: TObject);
begin
frmProjekte.ShowModal;
/trunk/Login.dfm
104,6 → 104,7
Width = 115
Height = 36
Caption = 'Los geht'#39's'
Default = True
TabOrder = 2
OnClick = Button1Click
end
/trunk/Login.pas
50,8 → 50,13
Exit;
end;
frmBugtracker.eingeloggtMitarbeiter := cbxMitarbeiter.KeyValue;
frmBugtracker.eingeloggtMitarbeiterName := cbxMitarbeiter.Text;
frmBugtracker.aktuellesProjekt := cbxProjekt.KeyValue;
frmBugtracker.aktuellesProjektName := cbxProjekt.Text;
 
frmBugtracker.LblAngemeldet.Caption := Format('Eingeloggt: %s, Projekt: %s', [frmBugtracker.eingeloggtMitarbeiterName, frmBugtracker.aktuellesProjektName]);
frmBugtracker.NeuFiltern;
 
ModalResult := mrOk; // Das schließt den Dialog
end;