Index: trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java
===================================================================
--- trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 52)
+++ trunk/src/scriptbuilder/gui/ScriptBuilderFrame.java	(revision 53)
@@ -271,7 +271,9 @@
 
         // Hack to refresh the zoom
-        zoomSlider.setValue(zoomSlider.getValue() - 1);
-        zoomSlider.setValue(zoomSlider.getValue() + 1);
-
+        //This is stupid tbh
+        /*
+         zoomSlider.setValue(zoomSlider.getValue() - 1);
+         zoomSlider.setValue(zoomSlider.getValue() + 1);
+         */
         // Set listener for scroll pane
         AdjustmentListener listener = new MyAdjustmentListener();
@@ -370,7 +372,11 @@
             ScriptIncident i = ((IncidentFocusedEvent) arg).incident;
 
-
             //gotoIncident.setSelectedItem(i);
         }
+
+        zoomSlider.setMinimum(((timelineTickPanel.getVisibleRect().width - 20)
+                * ScriptBuilderGuiConstants.HORIZONTAL_TICK_RESOLUTION)
+                / Math.max(script.absoluteLength(), 1));
+        zoomSlider.setMaximum(zoomSlider.getMinimum() + 20);
     }
 
@@ -443,24 +449,24 @@
         timelinesScrollPane = new javax.swing.JScrollPane();
         timelineTickPanel = new scriptbuilder.gui.panels.TimelineTickPanel();
-        incidentTimelinePanel1 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel2 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel8 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel3 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel6 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel5 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel4 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel7 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel10 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentTimelinePanel9 = new scriptbuilder.gui.panels.IncidentTimelinePanel();
-        incidentNumberPanel1 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel2 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel3 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel4 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel5 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel6 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel7 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel8 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel9 = new scriptbuilder.gui.panels.IncidentNumberPanel();
-        incidentNumberPanel10 = new scriptbuilder.gui.panels.IncidentNumberPanel();
+        incidentTimelinePanel1 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel2 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel8 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel3 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel6 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel5 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel4 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel7 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel10 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentTimelinePanel9 = new scriptbuilder.gui.panels.ScriptBuilderTimelinePanel();
+        incidentNumberPanel1 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel2 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel3 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel4 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel5 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel6 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel7 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel8 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel9 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
+        incidentNumberPanel10 = new scriptbuilder.gui.panels.ScriptBuilderNumberPanel();
         zoomSlider = new javax.swing.JSlider();
         selectButton = new javax.swing.JButton();
@@ -920,5 +926,4 @@
         setBounds(new java.awt.Rectangle(0, 23, 800, 700));
         setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
-        setMaximumSize(new java.awt.Dimension(2147483647, 800));
         setMinimumSize(new java.awt.Dimension(800, 700));
 
@@ -1282,8 +1287,8 @@
         timelinesScrollPane.setViewportView(timelineTickPanel);
 
-        zoomSlider.setMaximum(21);
-        zoomSlider.setMinimum(5);
+        zoomSlider.setMaximum(22);
+        zoomSlider.setMinimum(4);
         zoomSlider.setOrientation(javax.swing.JSlider.VERTICAL);
-        zoomSlider.setValue(13);
+        zoomSlider.setValue(4);
         zoomSlider.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
         zoomSlider.setFocusable(false);
@@ -1941,5 +1946,5 @@
      */
     private void zoomSliderStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_zoomSliderStateChanged
-        ScriptBuilderGuiConstants.PIXEL_WIDTH_PER_HORIZONTAL_TICK = zoomSlider.getValue() * 2;
+        ScriptBuilderGuiConstants.PIXEL_WIDTH_PER_HORIZONTAL_TICK = zoomSlider.getValue();
         this.update(script, script);
         pack();
@@ -2051,5 +2056,5 @@
 
         incidentFrame.setVisible(false);
-        update(script,script);
+        update(script, script);
         repaint();
     }//GEN-LAST:event_incidentOkButtonActionPerformed
@@ -2166,4 +2171,6 @@
             script.saveFile = fc.getSelectedFile();
         }
+        zoomSlider.setValue(zoomSlider.getMinimum());
+        update(script, script);
     }//GEN-LAST:event_fileOpenActionPerformed
 
@@ -2804,26 +2811,26 @@
     private javax.swing.JFrame incidentFrame;
     private javax.swing.JMenu incidentMenu;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel1;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel10;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel2;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel3;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel4;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel5;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel6;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel7;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel8;
-    private scriptbuilder.gui.panels.IncidentNumberPanel incidentNumberPanel9;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel1;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel10;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel2;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel3;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel4;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel5;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel6;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel7;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel8;
+    private scriptbuilder.gui.panels.ScriptBuilderNumberPanel incidentNumberPanel9;
     private javax.swing.JButton incidentOkButton;
     private javax.swing.JPopupMenu incidentPopupMenu;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel1;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel10;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel2;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel3;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel4;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel5;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel6;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel7;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel8;
-    private scriptbuilder.gui.panels.IncidentTimelinePanel incidentTimelinePanel9;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel1;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel10;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel2;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel3;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel4;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel5;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel6;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel7;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel8;
+    private scriptbuilder.gui.panels.ScriptBuilderTimelinePanel incidentTimelinePanel9;
     private javax.swing.JButton jButton1;
     private javax.swing.JButton jButton2;
