Subversion Repositories winbugtracker

Rev

Rev 7 | Rev 11 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7 Rev 8
Line 1... Line 1...
1
unit BugtrackerMain;
1
unit BugtrackerMain;
2
 
2
 
3
(*
3
(*
4
 * TODO:
4
 * TODO:
5
 * - abfragen ob speichern wenn fenster geschlossen wird
-
 
6
 * - Spezielle Filter
5
 * - Spezielle Filter
7
 *   ... Auflisten nach Modul
6
 *   ... Auflisten nach Modul
8
 *   ... Anzeigen der Agenda
7
 *   ... Anzeigen der Agenda
9
 * - verbinden mit ticketsystem von HS
8
 * - verbinden mit ticketsystem von HS
10
 * - rtf controls?
9
 * - rtf controls?
Line 111... Line 110...
111
    procedure qryBugsversion_releaseValidate(Sender: TField);
110
    procedure qryBugsversion_releaseValidate(Sender: TField);
112
    procedure FormCreate(Sender: TObject);
111
    procedure FormCreate(Sender: TObject);
113
    procedure qryVersionenAfterInsert(DataSet: TDataSet);
112
    procedure qryVersionenAfterInsert(DataSet: TDataSet);
114
    procedure qryModuleAfterInsert(DataSet: TDataSet);
113
    procedure qryModuleAfterInsert(DataSet: TDataSet);
115
    procedure btnBearbeitungsnotizClick(Sender: TObject);
114
    procedure btnBearbeitungsnotizClick(Sender: TObject);
-
 
115
    procedure qryBugsBeforeCancel(DataSet: TDataSet);
-
 
116
    procedure DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
-
 
117
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
116
  public
118
  public
117
    eingeloggtMitarbeiter: integer;
119
    eingeloggtMitarbeiter: integer;
118
    eingeloggtMitarbeiterName: string;
120
    eingeloggtMitarbeiterName: string;
119
    aktuellesProjekt: integer;
121
    aktuellesProjekt: integer;
120
    aktuellesProjektName: string;
122
    aktuellesProjektName: string;
Line 152... Line 154...
152
  finally
154
  finally
153
    TrackBar1.OnChange := bakEvent;
155
    TrackBar1.OnChange := bakEvent;
154
  end;
156
  end;
155
end;
157
end;
156
 
158
 
-
 
159
procedure TfrmBugtracker.qryBugsBeforeCancel(DataSet: TDataSet);
-
 
160
var
-
 
161
  abfrage: Integer;
-
 
162
begin
-
 
163
  // Tag 1 = Es wurde der "Abbrechen"-Knopf im DBNavigator gedrückt, also wollen wir keine unnötige Bestätigung
-
 
164
  // Alles andere = Irgendwas anderes (z.B. Scrolling oder versehentlich versucht das Fenster zu schließen)
-
 
165
  if qryBugs.Tag = 1 then exit;
-
 
166
 
-
 
167
  abfrage := MessageDlg('Speichern?', mtConfirmation, mbYesNoCancel, 0);
-
 
168
 
-
 
169
  if (abfrage = IDNo) or (abfrage = IDYes) or (abfrage = IDOK) then
-
 
170
  begin
-
 
171
     if abfrage = IDYes then
-
 
172
     begin
-
 
173
       if (qryBugs.state in [dsEdit, dsInsert]) then qryBugs.Post;
-
 
174
     end;
-
 
175
     if abfrage = IDNo then
-
 
176
     begin
-
 
177
       // Wir befinden uns bereits in qryBugs.Cancel, daher auskommentiert.
-
 
178
       // if (qryBugs.state in [dsEdit, dsInsert]) then qryBugs.Cancel;
-
 
179
     end;
-
 
180
  end
-
 
181
  else raise EAbort.Create('Abbruch durch Benutzer'); // Cancel geklickt
-
 
182
end;
-
 
183
 
157
procedure TfrmBugtracker.qryBugsversion_releaseValidate(Sender: TField);
184
procedure TfrmBugtracker.qryBugsversion_releaseValidate(Sender: TField);
158
begin
185
begin
159
  if qryBugs.FieldByName('fixdatum').IsNull then
186
  if qryBugs.FieldByName('fixdatum').IsNull then
160
  begin
187
  begin
161
    raise Exception.Create('Vor einer Veröffentlichung muss der Bugfix erst als gefixt markiert werden.');
188
    raise Exception.Create('Vor einer Veröffentlichung muss der Bugfix erst als gefixt markiert werden.');
Line 246... Line 273...
246
      end;
273
      end;
247
  end;
274
  end;
248
  qryBugs.Active := true;
275
  qryBugs.Active := true;
249
end;
276
end;
250
 
277
 
-
 
278
procedure TfrmBugtracker.DBNavigator1BeforeAction(Sender: TObject; Button: TNavigateBtn);
-
 
279
begin
-
 
280
  if Button = nbCancel then
-
 
281
  begin
-
 
282
    if qryBugs.state  in [dsEdit,dsInsert] then
-
 
283
    begin
-
 
284
      // Tag=1 soll verhindern, dass nicht gefragt wird, ob man Speichern möchte.
-
 
285
      // Ansonsten würde diese Meldung kommen, denn ".Cancel" wird automatisch
-
 
286
      // bei Ereignissen wie z.B. dem Scrolling aufgerufen (noch bevor
-
 
287
      // OnBeforeScroll aufgerufen wird), bei dem man einen MBOnCloseQuery wünscht.
-
 
288
      qryBugs.Tag := 1;
-
 
289
      qryBugs.Cancel;
-
 
290
      qryBugs.Tag := 0;
-
 
291
    end;
-
 
292
  end;
-
 
293
end;
-
 
294
 
-
 
295
procedure TfrmBugtracker.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
-
 
296
begin
-
 
297
  qryBugs.Cancel;
-
 
298
end;
-
 
299
 
251
procedure TfrmBugtracker.FormCreate(Sender: TObject);
300
procedure TfrmBugtracker.FormCreate(Sender: TObject);
252
var
301
var
253
  ini: TMemIniFile;
302
  ini: TMemIniFile;
254
begin
303
begin
255
  ini := TMemIniFile.Create('bugtracker.ini');
304
  ini := TMemIniFile.Create('bugtracker.ini');