ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

DonationCoder.com Software > T-Clock

T-Clock 2010 (download)

<< < (5/169) > >>

ewemoa:
60 - 100 seconds timer?
-Stoic Joker (March 18, 2010, 06:18 AM)
--- End quote ---
Yup.  As a somewhat vague example, there are these sites that make you wait before letting you do certain things, and if you miss a window of opportunity you are made to wait another period of time.  It has been my experience that the quoted wait times are often communicated in seconds.  I've seen 500 seconds wait times, FWIW.

I ganged all the spinner controls together so that clicking up on 59 seconds would automatically set minutes to one. So as each spinner reaches it max (or min) value, it will start updating its neighbor control.

--- End quote ---
Aha.  Thanks for the explanation. 

A little more detail on what I did:

I put the focus in the seconds field, entered 100 and subsequently used tab to visit other fields, ensuring that the other time fields were 0.  From what I can see, tabbing off of the seconds field does not appear to update the time fields.  At the time when I click on the start button, what I see for time values consists of:

  0 Days
  0 Hours
  0 Minutes
  100 Seconds

If I visit the Timer dialog subsequently and copy-paste the seconds value elsewhere, I see a value of 65595.

I can pull that (update yer neighbor) part if it's to confusing/annoying - or try tweaking it for clarity if it's saveable.

--- End quote ---
I'm not sure yet.  There is an element of convenience to having the conversion done automatically.

For comparison...For reference, in a former life, I wrote a timer plugin for some program.  The method I used there for specifying times was purely via a single text field.  Some examples of expressions I supported were:

     1h20m4s (1 hour 20 min 4 sec)
     4m3s (4 min 3 sec)
     500s (500 seconds)

     1:30 (1 min 30 sec)
     2:30:10 (2 hours 30 min 10 sec)

     3 (3 min)
     1.5 (1 min 30 sec)
     20r (every 20 minutes)

The main emphasis was on being able to quickly create timers -- and to be honest, I find not having to tab to different controls more convenient for specifying times from scratch.  However, I think that visually speaking, the spinner arrangement in T-Clock provides a stabler, more normalized feeling.  I think it may be nicer for editing existing timers, and as far as reading an existing time specification is concerned I think it may be better than a single text field.  (Perhaps a potentially nice addition might be for the dialog to also display at what time a timer will expire.)


I noticed that if I press the X button to remove a timer without stopping it first, it still appears under the T-Clock Timers submenu.  After the timer expires, it goes away, but I guess there's no straight-forward way to get at it to stop it.  Am I missing something obvious may be?

For future considerationAh, one more thing I forgot to mention in my previous post.  After I deleted all timers, leave the timer dialog, and return to it, the File text field is empty (which makes some sense).  Unfortunately, though, clicking on "..." brings up a File Open dialog pointing initially at the directory for the T-Clock binary.  If it's doable, perhaps it'd be more convenient to have the directory location point to the most recently used location for a timer with a sound.  What do you think?

Stoic Joker:
Holy Hell, Mom Was Right - If you pick at a loose thread, he whole damn thing unravels... (I'll explain later)

Yup.  As a somewhat vague example, there are these sites that make you wait before letting you do certain things, and if you miss a window of opportunity you are made to wait another period of time.  It has been my experience that the quoted wait times are often communicated in seconds.  I've seen 500 seconds wait times, FWIW.

A little more detail on what I did:

I put the focus in the seconds field, entered 100 and subsequently used tab to visit other fields, ensuring that the other time fields were 0.  From what I can see, tabbing off of the seconds field does not appear to update the time fields.  At the time when I click on the start button, what I see for time values consists of:

  0 Days
  0 Hours
  0 Minutes
  100 Seconds

If I visit the Timer dialog subsequently and copy-paste the seconds value elsewhere, I see a value of 65595.-ewemoa (March 18, 2010, 07:49 AM)
--- End quote ---

This was actually 2 separate issues.

1. Values were being taken from the Spinner Control not the Edit Control ... So 100 being out-of-range ~ Gave the appropriate (65595) error.

2. I never thought of anybody doing that.

So... Values now taken (at face value...) from Edit Control and are then passed through here:

--- Code: C++ ---//================================================================================================//--{ DC - ewemoa }------+++--> Validate Values as Being Within Expected Ranges (Adjust as Needed):void ValidateTimerInput(int sec, int min, int hrs, int day) { // Second  = 1 Second --------+++-->                                                                               // Minute = 60 Seconds                                                                               // Hour = 3600 Seconds  if(sec > 59) {                                                           // Day = 86400 Seconds          for(sec; sec > 59; sec -= 60) {                  min += 1;          }  }    if(min > 59) {          for(min; min > 59; min -= 60) {                  hrs += 1;          }  }   if(hrs > 23) {          for(hrs; hrs > 23; hrs -= 24) {                  day += 1;          }  }   if(day > 42) day = 7; // It was either Hitchhikers Guide to the Galaxy -or- the 49.7 day bugg :-)}
Now you can stick anything anywhere & it'll convert it for you on-the-fly as needed.


I noticed that if I press the X button to remove a timer without stopping it first, it still appears under the T-Clock Timers submenu.  After the timer expires, it goes away, but I guess there's no straight-forward way to get at it to stop it.  Am I missing something obvious may be?
--- End quote ---

Yes, that would be the I'm obviously not that bright, part. The extra flurry of message boxes that I'm sure you noticed were supposed to remind me (test values) I hadn't finished coding that part. The next release will include the Auto-Suicide on Delete function - That I forgot to do earlier (...Thanks for reminding me... :)).

So, do I really still need to explain the Thread Comment?

Rather bizzar side effect, when I reordered the controls in the .rc script to fix the Tab Order (which I've done many times) Tabs have now completely quit working (e.g. Key Has No Effect).


And etc. *Shrug* ...But that's enough whinning I gota get back to work ;)

Hopefully I'll have a new build ready sometime this weekend.


Thank You

Stoic Joker:
Well, Damn the luck - Tabbing Issue was actually with Virtual PC. After I restarted the whole shebang it started working just fine.

So... Updated download above - With the following fixes/additions:

1. Deleting a running timer, also stops said timer.

2. Deleting a timer no longer scrambles all of the other configured timers.

3. Removed excess MessageBoxes (that weren't actually supposed to be there - oops!).

4. Fixed Spastic Tab Order issue.

5. Entering out-of-range time data is now auto-converted to its D:HH:MM:SS equivelents

6. Timer Status message now reflects the above (per ewemoa's formatting suggestion) - This will eventually be a "Live" counter.

7. Timers that were running on program shutdown are automatically reset so they don't get stuck as unstartable.

8. Some other stuff I can't remember at the moment.

cranioscopical:
8. Some other stuff I can't remember at the moment.
--- End quote ---
Please, sir, I want some more of that.  :)

Stoic Joker:
8. Some other stuff I can't remember at the moment.
--- End quote ---
Please, sir, I want some more of that.  :)
-cranioscopical (March 19, 2010, 12:48 PM)
--- End quote ---
9. Additional items I can't remember - But included on request.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version